<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>set_surface_model_param [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_3dmatching.html">3D 匹配</a> / <a href="toc_3dmatching_surfacebased.html">Surface-Based</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">set_surface_model_param</span><span data-if="c" style="display:none;">T_set_surface_model_param</span><span data-if="cpp" style="display:none;">SetSurfaceModelParam</span><span data-if="dotnet" style="display:none;">SetSurfaceModelParam</span><span data-if="python" style="display:none;">set_surface_model_param</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">set_surface_model_param</span><span data-if="c" style="display:none;">T_set_surface_model_param</span><span data-if="cpp" style="display:none;">SetSurfaceModelParam</span><span data-if="dotnet" style="display:none;">SetSurfaceModelParam</span><span data-if="python" style="display:none;">set_surface_model_param</span></code> — Set parameters and properties of a surface model.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>set_surface_model_param</b>( :  : <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, <a href="#GenParamName"><i>GenParamName</i></a>, <a href="#GenParamValue"><i>GenParamValue</i></a> : )</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_set_surface_model_param</b>(const Htuple <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, const Htuple <a href="#GenParamName"><i>GenParamName</i></a>, const Htuple <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>SetSurfaceModelParam</b>(const HTuple&amp; <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>void <a href="HSurfaceModel.html">HSurfaceModel</a>::<b>SetSurfaceModelParam</b>(const HString&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code>void <a href="HSurfaceModel.html">HSurfaceModel</a>::<b>SetSurfaceModelParam</b>(const HString&amp; <a href="#GenParamName"><i>GenParamName</i></a>, double <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code>void <a href="HSurfaceModel.html">HSurfaceModel</a>::<b>SetSurfaceModelParam</b>(const char* <a href="#GenParamName"><i>GenParamName</i></a>, double <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code>void <a href="HSurfaceModel.html">HSurfaceModel</a>::<b>SetSurfaceModelParam</b>(const wchar_t* <a href="#GenParamName"><i>GenParamName</i></a>, double <a href="#GenParamValue"><i>GenParamValue</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>SetSurfaceModelParam</b>(<a href="HTuple.html">HTuple</a> <a href="#SurfaceModelID"><i>surfaceModelID</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code>void <a href="HSurfaceModel.html">HSurfaceModel</a>.<b>SetSurfaceModelParam</b>(string <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code>void <a href="HSurfaceModel.html">HSurfaceModel</a>.<b>SetSurfaceModelParam</b>(string <a href="#GenParamName"><i>genParamName</i></a>, double <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>set_surface_model_param</b>(<a href="#SurfaceModelID"><i>surface_model_id</i></a>: HHandle, <a href="#GenParamName"><i>gen_param_name</i></a>: str, <a href="#GenParamValue"><i>gen_param_value</i></a>: MaybeSequence[Union[str, float, int]]) -&gt; None</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">set_surface_model_param</span><span data-if="c" style="display:none">set_surface_model_param</span><span data-if="cpp" style="display:none">SetSurfaceModelParam</span><span data-if="com" style="display:none">SetSurfaceModelParam</span><span data-if="dotnet" style="display:none">SetSurfaceModelParam</span><span data-if="python" style="display:none">set_surface_model_param</span></code> sets parameters and
properties of the surface model <a href="#SurfaceModelID"><i><code><span data-if="hdevelop" style="display:inline">SurfaceModelID</span><span data-if="c" style="display:none">SurfaceModelID</span><span data-if="cpp" style="display:none">SurfaceModelID</span><span data-if="com" style="display:none">SurfaceModelID</span><span data-if="dotnet" style="display:none">surfaceModelID</span><span data-if="python" style="display:none">surface_model_id</span></code></i></a>.
The surface model must have been created by <a href="create_surface_model.html"><code><span data-if="hdevelop" style="display:inline">create_surface_model</span><span data-if="c" style="display:none">create_surface_model</span><span data-if="cpp" style="display:none">CreateSurfaceModel</span><span data-if="com" style="display:none">CreateSurfaceModel</span><span data-if="dotnet" style="display:none">CreateSurfaceModel</span><span data-if="python" style="display:none">create_surface_model</span></code></a>
or <a href="read_surface_model.html"><code><span data-if="hdevelop" style="display:inline">read_surface_model</span><span data-if="c" style="display:none">read_surface_model</span><span data-if="cpp" style="display:none">ReadSurfaceModel</span><span data-if="com" style="display:none">ReadSurfaceModel</span><span data-if="dotnet" style="display:none">ReadSurfaceModel</span><span data-if="python" style="display:none">read_surface_model</span></code></a>.
The names of the desired properties are passed in the generic parameter
<a href="#GenParamName"><i><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></i></a>, the corresponding values are passed in
<a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a>.
</p>
<p>The possible values for <a href="#GenParamName"><i><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></i></a> are listed below.
</p>
<ul>
<li>
<p> <b>Defining cameras for image-based refinement.</b>
The following parameters allow to set and clear camera parameters and
poses. Those are used by 该算子s <a href="find_surface_model_image.html"><code><span data-if="hdevelop" style="display:inline">find_surface_model_image</span><span data-if="c" style="display:none">find_surface_model_image</span><span data-if="cpp" style="display:none">FindSurfaceModelImage</span><span data-if="com" style="display:none">FindSurfaceModelImage</span><span data-if="dotnet" style="display:none">FindSurfaceModelImage</span><span data-if="python" style="display:none">find_surface_model_image</span></code></a>
and <a href="refine_surface_model_pose_image.html"><code><span data-if="hdevelop" style="display:inline">refine_surface_model_pose_image</span><span data-if="c" style="display:none">refine_surface_model_pose_image</span><span data-if="cpp" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="com" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="python" style="display:none">refine_surface_model_pose_image</span></code></a> to project the surface
model into the passed image.
</p>
<p>Note that the camera parameters must be set before the camera pose.
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'camera_parameter'</span><span data-if="c" style="display:none">"camera_parameter"</span><span data-if="cpp" style="display:none">"camera_parameter"</span><span data-if="com" style="display:none">"camera_parameter"</span><span data-if="dotnet" style="display:none">"camera_parameter"</span><span data-if="python" style="display:none">"camera_parameter"</span></i>:</b></dt>
<dd>

</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'camera_parameter X'</span><span data-if="c" style="display:none">"camera_parameter X"</span><span data-if="cpp" style="display:none">"camera_parameter X"</span><span data-if="com" style="display:none">"camera_parameter X"</span><span data-if="dotnet" style="display:none">"camera_parameter X"</span><span data-if="python" style="display:none">"camera_parameter X"</span></i>:</b></dt>
<dd><p>

Sets the camera parameters for camera number X, where X is a zero-based
index for the cameras. If not given, X defaults zero (first camera).
The camera parameters are used by 该算子s
<a href="find_surface_model_image.html"><code><span data-if="hdevelop" style="display:inline">find_surface_model_image</span><span data-if="c" style="display:none">find_surface_model_image</span><span data-if="cpp" style="display:none">FindSurfaceModelImage</span><span data-if="com" style="display:none">FindSurfaceModelImage</span><span data-if="dotnet" style="display:none">FindSurfaceModelImage</span><span data-if="python" style="display:none">find_surface_model_image</span></code></a> and
<a href="refine_surface_model_pose_image.html"><code><span data-if="hdevelop" style="display:inline">refine_surface_model_pose_image</span><span data-if="c" style="display:none">refine_surface_model_pose_image</span><span data-if="cpp" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="com" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="python" style="display:none">refine_surface_model_pose_image</span></code></a>,
which use the images corresponding to the camera for the 3D pose
refinement.
Cameras must be added in increasing order.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'camera_pose'</span><span data-if="c" style="display:none">"camera_pose"</span><span data-if="cpp" style="display:none">"camera_pose"</span><span data-if="com" style="display:none">"camera_pose"</span><span data-if="dotnet" style="display:none">"camera_pose"</span><span data-if="python" style="display:none">"camera_pose"</span></i>:</b></dt>
<dd>

</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'camera_pose X'</span><span data-if="c" style="display:none">"camera_pose X"</span><span data-if="cpp" style="display:none">"camera_pose X"</span><span data-if="com" style="display:none">"camera_pose X"</span><span data-if="dotnet" style="display:none">"camera_pose X"</span><span data-if="python" style="display:none">"camera_pose X"</span></i>:</b></dt>
<dd><p>

Sets the camera pose for camera number X, where X is a zero-based
index for the cameras. If not given, X defaults zero (first camera).
The pose defaults to the zero-pose <i>[0,0,0,0,0,0,0]</i> when adding
a new camera with <i><span data-if="hdevelop" style="display:inline">'camera_parameter'</span><span data-if="c" style="display:none">"camera_parameter"</span><span data-if="cpp" style="display:none">"camera_parameter"</span><span data-if="com" style="display:none">"camera_parameter"</span><span data-if="dotnet" style="display:none">"camera_parameter"</span><span data-if="python" style="display:none">"camera_parameter"</span></i>.
This usually means that camera and 3D sensor have the same point of
origin.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'clear_cameras'</span><span data-if="c" style="display:none">"clear_cameras"</span><span data-if="cpp" style="display:none">"clear_cameras"</span><span data-if="com" style="display:none">"clear_cameras"</span><span data-if="dotnet" style="display:none">"clear_cameras"</span><span data-if="python" style="display:none">"clear_cameras"</span></i>:</b></dt>
<dd><p>

Removes all previously set cameras from the surface model.
</p></dd>
</dl>

</li>
<li>
<p> <b>Defining Object Symmetries.</b>
The following parameters can be used to define symmetries of the 3D
object which was used for the creation of the surface model.
If the 3D object is symmetric, that information can be used to speed up
the surface-based matching.
Note that for surface models created with the <i><span data-if="hdevelop" style="display:inline">'train_3d_edges'</span><span data-if="c" style="display:none">"train_3d_edges"</span><span data-if="cpp" style="display:none">"train_3d_edges"</span><span data-if="com" style="display:none">"train_3d_edges"</span><span data-if="dotnet" style="display:none">"train_3d_edges"</span><span data-if="python" style="display:none">"train_3d_edges"</span></i>
parameter enabled, no symmetries can be set.
</p>
<p>By default, no symmetry is active.
</p>
<p>Note that for performance reasons, when changing the symmetry with any
of the parameters below, certain internal data structures of the surface
model are re-created, which can take a few seconds.
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'symmetry_axis_direction'</span><span data-if="c" style="display:none">"symmetry_axis_direction"</span><span data-if="cpp" style="display:none">"symmetry_axis_direction"</span><span data-if="com" style="display:none">"symmetry_axis_direction"</span><span data-if="dotnet" style="display:none">"symmetry_axis_direction"</span><span data-if="python" style="display:none">"symmetry_axis_direction"</span></i>:</b></dt>
<dd>
<p>

Set the direction of the symmetry axis of the model.
<a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> must be a tuple with three numbers, containing
the x-, y- and z-value of the axis direction.
The model is modified to use this symmetry information for speeding
up the matching process.
</p>
<p>To remove the symmetry information, pass an empty tuple in
<a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a>.
Note that either a symmetry axis or symmetry poses can be set, but
not both.
</p>
<div style="text-align:center;" class="figure">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="300" height="300">
<g style="stroke-width:.025in; fill:yellow">
<image xlink:href=" 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 " preserveAspectRatio="none" x="0" y="0" width="100%" height="100%"></image>
</g>
</svg><div style="margin-bottom:30px;text-align:center;" class="caption">
An object (cylinder) with the symmetry axis direction
<i>[0,0,1]</i>.
</div>
</div>

<p>In case that <i><span data-if="hdevelop" style="display:inline">'symmetry_axis_direction'</span><span data-if="c" style="display:none">"symmetry_axis_direction"</span><span data-if="cpp" style="display:none">"symmetry_axis_direction"</span><span data-if="com" style="display:none">"symmetry_axis_direction"</span><span data-if="dotnet" style="display:none">"symmetry_axis_direction"</span><span data-if="python" style="display:none">"symmetry_axis_direction"</span></i> is used
in combination with a restriction of the pose range as described below,
the value of <i><span data-if="hdevelop" style="display:inline">'symmetry_axis_direction'</span><span data-if="c" style="display:none">"symmetry_axis_direction"</span><span data-if="cpp" style="display:none">"symmetry_axis_direction"</span><span data-if="com" style="display:none">"symmetry_axis_direction"</span><span data-if="dotnet" style="display:none">"symmetry_axis_direction"</span><span data-if="python" style="display:none">"symmetry_axis_direction"</span></i> is also used as if set
with the parameter <i><span data-if="hdevelop" style="display:inline">'pose_restriction_allowed_axis_direction'</span><span data-if="c" style="display:none">"pose_restriction_allowed_axis_direction"</span><span data-if="cpp" style="display:none">"pose_restriction_allowed_axis_direction"</span><span data-if="com" style="display:none">"pose_restriction_allowed_axis_direction"</span><span data-if="dotnet" style="display:none">"pose_restriction_allowed_axis_direction"</span><span data-if="python" style="display:none">"pose_restriction_allowed_axis_direction"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symmetry_axis_origin'</span><span data-if="c" style="display:none">"symmetry_axis_origin"</span><span data-if="cpp" style="display:none">"symmetry_axis_origin"</span><span data-if="com" style="display:none">"symmetry_axis_origin"</span><span data-if="dotnet" style="display:none">"symmetry_axis_origin"</span><span data-if="python" style="display:none">"symmetry_axis_origin"</span></i>:</b></dt>
<dd>
<p>

Set a point on the symmetry axis of the model.
<a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> must be a tuple with three numbers, which
represent a point in model coordinates that lies on the symmetry
axis of the model.
This parameter is optional and defaults to the center of the
model as returned by <a href="get_surface_model_param.html"><code><span data-if="hdevelop" style="display:inline">get_surface_model_param</span><span data-if="c" style="display:none">get_surface_model_param</span><span data-if="cpp" style="display:none">GetSurfaceModelParam</span><span data-if="com" style="display:none">GetSurfaceModelParam</span><span data-if="dotnet" style="display:none">GetSurfaceModelParam</span><span data-if="python" style="display:none">get_surface_model_param</span></code></a>.
</p>
<p>In case that <i><span data-if="hdevelop" style="display:inline">'symmetry_axis_origin'</span><span data-if="c" style="display:none">"symmetry_axis_origin"</span><span data-if="cpp" style="display:none">"symmetry_axis_origin"</span><span data-if="com" style="display:none">"symmetry_axis_origin"</span><span data-if="dotnet" style="display:none">"symmetry_axis_origin"</span><span data-if="python" style="display:none">"symmetry_axis_origin"</span></i> is used
in combination with a restriction of the pose range as described below,
the value of <i><span data-if="hdevelop" style="display:inline">'symmetry_axis_origin'</span><span data-if="c" style="display:none">"symmetry_axis_origin"</span><span data-if="cpp" style="display:none">"symmetry_axis_origin"</span><span data-if="com" style="display:none">"symmetry_axis_origin"</span><span data-if="dotnet" style="display:none">"symmetry_axis_origin"</span><span data-if="python" style="display:none">"symmetry_axis_origin"</span></i> is also used as if set
with the parameter <i><span data-if="hdevelop" style="display:inline">'pose_restriction_allowed_axis_origin'</span><span data-if="c" style="display:none">"pose_restriction_allowed_axis_origin"</span><span data-if="cpp" style="display:none">"pose_restriction_allowed_axis_origin"</span><span data-if="com" style="display:none">"pose_restriction_allowed_axis_origin"</span><span data-if="dotnet" style="display:none">"pose_restriction_allowed_axis_origin"</span><span data-if="python" style="display:none">"pose_restriction_allowed_axis_origin"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symmetry_poses'</span><span data-if="c" style="display:none">"symmetry_poses"</span><span data-if="cpp" style="display:none">"symmetry_poses"</span><span data-if="com" style="display:none">"symmetry_poses"</span><span data-if="dotnet" style="display:none">"symmetry_poses"</span><span data-if="python" style="display:none">"symmetry_poses"</span></i>:</b></dt>
<dd>
<p>

Set one or more symmetry poses of the model (see <a href="create_pose.html"><code><span data-if="hdevelop" style="display:inline">create_pose</span><span data-if="c" style="display:none">create_pose</span><span data-if="cpp" style="display:none">CreatePose</span><span data-if="com" style="display:none">CreatePose</span><span data-if="dotnet" style="display:none">CreatePose</span><span data-if="python" style="display:none">create_pose</span></code></a>).
The model must be identical when transformed with any of those
poses.
The model is modified to use this symmetry information for speeding
up the matching process.
</p>
<p>When setting one or more symmetry poses, <code><span data-if="hdevelop" style="display:inline">set_surface_model_param</span><span data-if="c" style="display:none">set_surface_model_param</span><span data-if="cpp" style="display:none">SetSurfaceModelParam</span><span data-if="com" style="display:none">SetSurfaceModelParam</span><span data-if="dotnet" style="display:none">SetSurfaceModelParam</span><span data-if="python" style="display:none">set_surface_model_param</span></code>
will internally create all poses that can be created by chaining and
inverting the passed poses. To obtain all internally created poses,
use <a href="get_surface_model_param.html"><code><span data-if="hdevelop" style="display:inline">get_surface_model_param</span><span data-if="c" style="display:none">get_surface_model_param</span><span data-if="cpp" style="display:none">GetSurfaceModelParam</span><span data-if="com" style="display:none">GetSurfaceModelParam</span><span data-if="dotnet" style="display:none">GetSurfaceModelParam</span><span data-if="python" style="display:none">get_surface_model_param</span></code></a> with the argument
<i><span data-if="hdevelop" style="display:inline">'symmetry_poses_all'</span><span data-if="c" style="display:none">"symmetry_poses_all"</span><span data-if="cpp" style="display:none">"symmetry_poses_all"</span><span data-if="com" style="display:none">"symmetry_poses_all"</span><span data-if="dotnet" style="display:none">"symmetry_poses_all"</span><span data-if="python" style="display:none">"symmetry_poses_all"</span></i>.
If more than 100 poses are created internally, an error is returned,
which indicates that the passed symmetry poses are invalid.
</p>
<p>To remove the symmetry poses, pass an empty tuple in
<a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a>.
Note that either a symmetry axis or symmetry poses can be set, but
not both.
</p>
<div style="text-align:center;" class="figure">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="300" height="300">
<g style="stroke-width:.025in; fill:yellow">
<image xlink:href=" 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 W1sb2QYrFApB0IlIfVkV0315rigaogghMiVAcev/97//fZbunQ3lvFDl7n/2s5/V1dXdvn373Xff ZZsWNDY2Njc3nzhxQuWTnU7njh07wHiDEajBjgsikf16c9YWBcFtyRQJvHDhwoULF+bm5rjp+ZJG i6WlpY899hi1CMQky8ufcWFLeXOCGne5XNxizXICyU9jfwnetMBlSFejJsTaiex/BvowHo/fuHGD nXmGYTQ1NR0+fNjj8YBpaoqix+O55557bt68eeHCBRwoh+5udofurpLEbVyzLOwdOnToyJEj6gSG QqHBwUEqHZ6bOkRtTiSTSZ/PR9btBF+OvLaFirozHVdRVt/61rdUvjQej3MT0ORfkT01iHKhxoyi bN++/c033yRHXn755Wg02tzc/OMf/5h7KX/zm984HI6f//znlpYlfX19UAwCthbBO4pr3sC8vHz5 8vJapKD31MEDCQaDKRif8CSC1mWkApSUKswsgdxxKsVh586dKg9cWOAgcQINt2hNd3e31Y2xlQmh hMMDBw60t7dzZ9Lf//73jo6OJ598kqrppDL/IHX66tWrUK0Mwm7g3l+7du3dd99d4j9/ByFWzw0G g8FgEJ4grD+Qav3Lis/nwx0jsG3CNvFMEz91DqkDGhoaFA3RgYEB3NCG5RD3NaDGX3jhhaze2XyC UMLhCy+8IHJMBwKBI0eONDY2HjhwgJpJinPo7NmzhmGcO3cO60OE0B/+8IclAw8hBNre6owHDxbV D4fk0DQqGhSgy+UiFSBlBchLg1ol0JRD6i1o3aNoiA4MDJAjFG/4k8nxbKvB/IOQy+GJEydOnjz5 4osvih6HgUDglVdeKSgoaG5ubm9vJxujW/32qakpKNH/u9/9TrKvnSnqrD4vSPzGx8fn5+cVvRrc t3w+n8/nI48MhULcHVqVRCSrDhvRIPlWOgRSvFH2Lf5vttVgXkLIcmgYht/vf+edd1588UXRKYFA 4J///GckEikoKKivr9+/f79izI3phHvttdfw63/961+iJqci2EBY5FImcHx8nFR96pXkyVNcLhes AMl4mmAwqFLhV+RWyQiB1OudO3eSWlry2wYGBrhFnET5WTC+BGowXyEEefPNN3FZGoSQ3+8PBoPf /va3JaccPnw4EonY7XaHw1FQULBnz549e/akQ+ASnKh4bjweB9XHTllJywR2HBoGwszG3xsMBrEC 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 " preserveAspectRatio="none" x="0" y="0" width="100%" height="100%"></image>
</g>
</svg><div style="margin-bottom:30px;text-align:center;" class="caption">
An object with a discontinuous symmetry. The symmetry pose for this
object is <i>[0,0,0, 0,0,360.0/5, 0]</i>.
</div>
</div>
</dd>
</dl>

</li>
<li>
<p> <b>Restrict the pose range.</b>
The following parameters can be used to restrict the range of rotations
in which the surface model is searched for by <a href="find_surface_model.html"><code><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></code></a>,
or the allowed range of rotations for the refinement with
<a href="refine_surface_model_pose.html"><code><span data-if="hdevelop" style="display:inline">refine_surface_model_pose</span><span data-if="c" style="display:none">refine_surface_model_pose</span><span data-if="cpp" style="display:none">RefineSurfaceModelPose</span><span data-if="com" style="display:none">RefineSurfaceModelPose</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPose</span><span data-if="python" style="display:none">refine_surface_model_pose</span></code></a>.
</p>
<p>By default, no pose range restriction is active.
</p>
<p>Note that for performance reasons, when changing the pose range with any
of the parameters below, certain internal data structures of the surface
model are re-created, which can take a few seconds.
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'pose_restriction_reference_pose'</span><span data-if="c" style="display:none">"pose_restriction_reference_pose"</span><span data-if="cpp" style="display:none">"pose_restriction_reference_pose"</span><span data-if="com" style="display:none">"pose_restriction_reference_pose"</span><span data-if="dotnet" style="display:none">"pose_restriction_reference_pose"</span><span data-if="python" style="display:none">"pose_restriction_reference_pose"</span></i>:</b></dt>
<dd>
<p>

Set a reference pose of the model.
The reference pose can be used along with
<i><span data-if="hdevelop" style="display:inline">'pose_restriction_max_angle_diff'</span><span data-if="c" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="cpp" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="com" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="dotnet" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="python" style="display:none">"pose_restriction_max_angle_diff"</span></i>,
to restrict the allowed range of rotations of the model.
</p>
<p>If <a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> is an empty tuple, any previously set
reference pose is cleared and no pose range restriction will be active
for the model.
</p>
<p>Otherwise, <a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> must be a pose (see
<a href="create_pose.html"><code><span data-if="hdevelop" style="display:inline">create_pose</span><span data-if="c" style="display:none">create_pose</span><span data-if="cpp" style="display:none">CreatePose</span><span data-if="com" style="display:none">CreatePose</span><span data-if="dotnet" style="display:none">CreatePose</span><span data-if="python" style="display:none">create_pose</span></code></a>).
Note that the translation part of the pose is ignored.
Also note that both <i><span data-if="hdevelop" style="display:inline">'pose_restriction_reference_pose'</span><span data-if="c" style="display:none">"pose_restriction_reference_pose"</span><span data-if="cpp" style="display:none">"pose_restriction_reference_pose"</span><span data-if="com" style="display:none">"pose_restriction_reference_pose"</span><span data-if="dotnet" style="display:none">"pose_restriction_reference_pose"</span><span data-if="python" style="display:none">"pose_restriction_reference_pose"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'pose_restriction_max_angle_diff'</span><span data-if="c" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="cpp" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="com" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="dotnet" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="python" style="display:none">"pose_restriction_max_angle_diff"</span></i> must be set in order for
the pose restriction to be active.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'pose_restriction_max_angle_diff'</span><span data-if="c" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="cpp" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="com" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="dotnet" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="python" style="display:none">"pose_restriction_max_angle_diff"</span></i>:</b></dt>
<dd>
<p>

Set by how much the rotation of a pose found with
<a href="find_surface_model.html"><code><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></code></a> or refined with
<a href="refine_surface_model_pose.html"><code><span data-if="hdevelop" style="display:inline">refine_surface_model_pose</span><span data-if="c" style="display:none">refine_surface_model_pose</span><span data-if="cpp" style="display:none">RefineSurfaceModelPose</span><span data-if="com" style="display:none">RefineSurfaceModelPose</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPose</span><span data-if="python" style="display:none">refine_surface_model_pose</span></code></a> may deviate from the rotation set
with <i><span data-if="hdevelop" style="display:inline">'pose_restriction_reference_pose'</span><span data-if="c" style="display:none">"pose_restriction_reference_pose"</span><span data-if="cpp" style="display:none">"pose_restriction_reference_pose"</span><span data-if="com" style="display:none">"pose_restriction_reference_pose"</span><span data-if="dotnet" style="display:none">"pose_restriction_reference_pose"</span><span data-if="python" style="display:none">"pose_restriction_reference_pose"</span></i>, in radians.
</p>
<p>If <a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> is an empty tuple, any previously set
maximum deviation angle is cleared and no pose range restriction will
be active for the model.
</p>
<p>Otherwise, <a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> must be an angle, which
indicates by how much the rotations of a detected pose <i><span data-if="hdevelop" style="display:inline">'P'</span><span data-if="c" style="display:none">"P"</span><span data-if="cpp" style="display:none">"P"</span><span data-if="com" style="display:none">"P"</span><span data-if="dotnet" style="display:none">"P"</span><span data-if="python" style="display:none">"P"</span></i>
and the reference pose <i><span data-if="hdevelop" style="display:inline">'R'</span><span data-if="c" style="display:none">"R"</span><span data-if="cpp" style="display:none">"R"</span><span data-if="com" style="display:none">"R"</span><span data-if="dotnet" style="display:none">"R"</span><span data-if="python" style="display:none">"R"</span></i> set with
<i><span data-if="hdevelop" style="display:inline">'pose_restriction_reference_pose'</span><span data-if="c" style="display:none">"pose_restriction_reference_pose"</span><span data-if="cpp" style="display:none">"pose_restriction_reference_pose"</span><span data-if="com" style="display:none">"pose_restriction_reference_pose"</span><span data-if="dotnet" style="display:none">"pose_restriction_reference_pose"</span><span data-if="python" style="display:none">"pose_restriction_reference_pose"</span></i> may differ.
The comparison is performed for every model point using the formula
<span title="1" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="12.6989em" height="1.12127em" viewBox="0 0 203.182037 17.940399">
<!-- Original BoundingBox: -101.591019 -8.970200 101.591019 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_11">
      <path style="fill-rule: evenodd;" d="M448.000000 -400.000000L563.000000 -400.000000L563.000000 -431.000000L445.000000 -431.000000L445.000000 -547.000000C445.000000 -636.000000,493.000000 -683.000000,538.000000 -683.000000C541.000000 -683.000000,556.000000 -683.000000,571.000000 -676.000000C559.000000 -672.000000,541.000000 -659.000000,541.000000 -634.000000C541.000000 -611.000000,557.000000 -591.000000,584.000000 -591.000000C613.000000 -591.000000,628.000000 -611.000000,628.000000 -635.000000C628.000000 -671.000000,593.000000 -705.000000,537.000000 -705.000000C478.000000 -705.000000,434.000000 -667.000000,429.000000 -663.000000C400.000000 -700.000000,344.000000 -705.000000,317.000000 -705.000000C222.000000 -705.000000,106.000000 -653.000000,106.000000 -545.000000L106.000000 -431.000000L27.000000 -431.000000L27.000000 -400.000000L106.000000 -400.000000L106.000000 -76.000000C106.000000 -31.000000,95.000000 -31.000000,28.000000 -31.000000L28.000000 -0.000000L139.000000 -0.000000L61.000000 -1.000000L114.000000 -3.000000L139.000000 -3.000000L164.000000 -3.000000L213.000000 -1.000000L250.000000 -0.000000L250.000000 -31.000000C183.000000 -31.000000,172.000000 -31.000000,172.000000 -76.000000L172.000000 -400.000000L382.000000 -400.000000L382.000000 -76.000000C382.000000 -31.000000,371.000000 -31.000000,304.000000 -31.000000L304.000000 -0.000000L418.000000 -0.000000L343.000000 -1.000000L390.000000 -3.000000L418.000000 -3.000000L458.000000 -3.000000L505.000000 -3.000000L545.000000 -0.000000L545.000000 -31.000000L524.000000 -31.000000C450.000000 -31.000000,448.000000 -42.000000,448.000000 -78.000000M169.000000 -431.000000L169.000000 -544.000000C169.000000 -641.000000,251.000000 -683.000000,316.000000 -683.000000C365.000000 -683.000000,393.000000 -664.000000,394.000000 -664.000000L394.000000 -663.000000C377.000000 -661.000000,357.000000 -648.000000,357.000000 -620.000000C357.000000 -614.000000,358.000000 -589.000000,385.000000 -580.000000C382.000000 -567.000000,382.000000 -558.000000,382.000000 -546.000000L382.000000 -431.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_97">
      <path style="fill-rule: evenodd;" d="M333.000000 -76.000000C337.000000 -36.000000,364.000000 6.000000,411.000000 6.000000C432.000000 6.000000,493.000000 -8.000000,493.000000 -89.000000L493.000000 -145.000000L468.000000 -145.000000L468.000000 -89.000000C468.000000 -31.000000,443.000000 -25.000000,432.000000 -25.000000C399.000000 -25.000000,395.000000 -70.000000,395.000000 -75.000000L395.000000 -275.000000C395.000000 -317.000000,395.000000 -356.000000,359.000000 -393.000000C320.000000 -432.000000,270.000000 -448.000000,222.000000 -448.000000C140.000000 -448.000000,71.000000 -401.000000,71.000000 -335.000000C71.000000 -305.000000,91.000000 -288.000000,117.000000 -288.000000C145.000000 -288.000000,163.000000 -308.000000,163.000000 -334.000000C163.000000 -346.000000,158.000000 -379.000000,112.000000 -380.000000C139.000000 -415.000000,188.000000 -426.000000,220.000000 -426.000000C269.000000 -426.000000,326.000000 -387.000000,326.000000 -298.000000L326.000000 -261.000000C275.000000 -258.000000,205.000000 -255.000000,142.000000 -225.000000C67.000000 -191.000000,42.000000 -139.000000,42.000000 -95.000000C42.000000 -14.000000,139.000000 11.000000,202.000000 11.000000C268.000000 11.000000,314.000000 -29.000000,333.000000 -76.000000M326.000000 -240.000000L326.000000 -140.000000C326.000000 -45.000000,254.000000 -11.000000,209.000000 -11.000000C160.000000 -11.000000,119.000000 -46.000000,119.000000 -96.000000C119.000000 -151.000000,161.000000 -234.000000,326.000000 -240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_100">
      <path style="fill-rule: evenodd;" d="M380.000000 -55.000000L380.000000 11.000000L527.000000 -0.000000L527.000000 -31.000000C457.000000 -31.000000,449.000000 -38.000000,449.000000 -87.000000L449.000000 -694.000000L305.000000 -683.000000L305.000000 -652.000000C375.000000 -652.000000,383.000000 -645.000000,383.000000 -596.000000L383.000000 -380.000000C354.000000 -416.000000,311.000000 -442.000000,257.000000 -442.000000C139.000000 -442.000000,34.000000 -344.000000,34.000000 -215.000000C34.000000 -88.000000,132.000000 11.000000,246.000000 11.000000C310.000000 11.000000,355.000000 -23.000000,380.000000 -55.000000M380.000000 -323.000000L380.000000 -118.000000C380.000000 -100.000000,380.000000 -98.000000,369.000000 -81.000000C339.000000 -33.000000,294.000000 -11.000000,251.000000 -11.000000C206.000000 -11.000000,170.000000 -37.000000,146.000000 -75.000000C120.000000 -116.000000,117.000000 -173.000000,117.000000 -214.000000C117.000000 -251.000000,119.000000 -311.000000,148.000000 -356.000000C169.000000 -387.000000,207.000000 -420.000000,261.000000 -420.000000C296.000000 -420.000000,338.000000 -405.000000,369.000000 -360.000000C380.000000 -343.000000,380.000000 -341.000000,380.000000 -323.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_101">
      <path style="fill-rule: evenodd;" d="M112.000000 -252.000000C118.000000 -401.000000,202.000000 -426.000000,236.000000 -426.000000C339.000000 -426.000000,349.000000 -291.000000,349.000000 -252.000000M111.000000 -231.000000L390.000000 -231.000000C412.000000 -231.000000,415.000000 -231.000000,415.000000 -252.000000C415.000000 -351.000000,361.000000 -448.000000,236.000000 -448.000000C120.000000 -448.000000,28.000000 -345.000000,28.000000 -220.000000C28.000000 -86.000000,133.000000 11.000000,248.000000 11.000000C370.000000 11.000000,415.000000 -100.000000,415.000000 -119.000000C415.000000 -129.000000,407.000000 -131.000000,402.000000 -131.000000C393.000000 -131.000000,391.000000 -125.000000,389.000000 -117.000000C354.000000 -14.000000,264.000000 -14.000000,254.000000 -14.000000C204.000000 -14.000000,164.000000 -44.000000,141.000000 -81.000000C111.000000 -129.000000,111.000000 -195.000000,111.000000 -231.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_103">
      <path style="fill-rule: evenodd;" d="M222.000000 -172.000000C135.000000 -172.000000,135.000000 -272.000000,135.000000 -295.000000C135.000000 -322.000000,136.000000 -354.000000,151.000000 -379.000000C159.000000 -391.000000,182.000000 -419.000000,222.000000 -419.000000C309.000000 -419.000000,309.000000 -319.000000,309.000000 -296.000000C309.000000 -269.000000,308.000000 -237.000000,293.000000 -212.000000C285.000000 -200.000000,262.000000 -172.000000,222.000000 -172.000000M106.000000 -133.000000C106.000000 -137.000000,106.000000 -160.000000,123.000000 -180.000000C162.000000 -152.000000,203.000000 -149.000000,222.000000 -149.000000C315.000000 -149.000000,384.000000 -218.000000,384.000000 -295.000000C384.000000 -332.000000,368.000000 -369.000000,343.000000 -392.000000C379.000000 -426.000000,415.000000 -431.000000,433.000000 -431.000000C435.000000 -431.000000,440.000000 -431.000000,443.000000 -430.000000C432.000000 -426.000000,427.000000 -415.000000,427.000000 -403.000000C427.000000 -386.000000,440.000000 -374.000000,456.000000 -374.000000C466.000000 -374.000000,485.000000 -381.000000,485.000000 -404.000000C485.000000 -421.000000,473.000000 -453.000000,434.000000 -453.000000C414.000000 -453.000000,370.000000 -447.000000,328.000000 -406.000000C286.000000 -439.000000,244.000000 -442.000000,222.000000 -442.000000C129.000000 -442.000000,60.000000 -373.000000,60.000000 -296.000000C60.000000 -252.000000,82.000000 -214.000000,107.000000 -193.000000C94.000000 -178.000000,76.000000 -145.000000,76.000000 -110.000000C76.000000 -79.000000,89.000000 -41.000000,120.000000 -21.000000C60.000000 -4.000000,28.000000 39.000000,28.000000 79.000000C28.000000 151.000000,127.000000 206.000000,249.000000 206.000000C367.000000 206.000000,471.000000 155.000000,471.000000 77.000000C471.000000 42.000000,457.000000 -9.000000,406.000000 -37.000000C353.000000 -65.000000,295.000000 -65.000000,234.000000 -65.000000C209.000000 -65.000000,166.000000 -65.000000,159.000000 -66.000000C127.000000 -70.000000,106.000000 -101.000000,106.000000 -133.000000M250.000000 183.000000C149.000000 183.000000,80.000000 132.000000,80.000000 79.000000C80.000000 33.000000,118.000000 -4.000000,162.000000 -7.000000L221.000000 -7.000000C307.000000 -7.000000,419.000000 -7.000000,419.000000 79.000000C419.000000 133.000000,348.000000 183.000000,250.000000 183.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_105">
      <path style="fill-rule: evenodd;" d="M177.000000 -442.000000L37.000000 -431.000000L37.000000 -400.000000C102.000000 -400.000000,111.000000 -394.000000,111.000000 -345.000000L111.000000 -76.000000C111.000000 -31.000000,100.000000 -31.000000,33.000000 -31.000000L33.000000 -0.000000L143.000000 -0.000000L65.000000 -1.000000L119.000000 -3.000000L143.000000 -3.000000L178.000000 -3.000000L213.000000 -1.000000L247.000000 -0.000000L247.000000 -31.000000C181.000000 -31.000000,177.000000 -36.000000,177.000000 -75.000000M181.000000 -616.000000C181.000000 -648.000000,156.000000 -669.000000,128.000000 -669.000000C97.000000 -669.000000,75.000000 -642.000000,75.000000 -616.000000C75.000000 -589.000000,97.000000 -563.000000,128.000000 -563.000000C156.000000 -563.000000,181.000000 -584.000000,181.000000 -616.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_108">
      <path style="fill-rule: evenodd;" d="M177.000000 -694.000000L33.000000 -683.000000L33.000000 -652.000000C103.000000 -652.000000,111.000000 -645.000000,111.000000 -596.000000L111.000000 -76.000000C111.000000 -31.000000,100.000000 -31.000000,33.000000 -31.000000L33.000000 -0.000000L144.000000 -0.000000L66.000000 -1.000000L119.000000 -3.000000L144.000000 -3.000000L169.000000 -3.000000L218.000000 -1.000000L255.000000 -0.000000L255.000000 -31.000000C188.000000 -31.000000,177.000000 -31.000000,177.000000 -76.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_109">
      <path style="fill-rule: evenodd;" d="M110.000000 -344.000000L110.000000 -76.000000C110.000000 -31.000000,99.000000 -31.000000,32.000000 -31.000000L32.000000 -0.000000L145.000000 -0.000000L67.000000 -1.000000L118.000000 -3.000000L145.000000 -3.000000L171.000000 -3.000000L223.000000 -1.000000L257.000000 -0.000000L257.000000 -31.000000C190.000000 -31.000000,179.000000 -31.000000,179.000000 -76.000000L179.000000 -260.000000C179.000000 -364.000000,250.000000 -420.000000,314.000000 -420.000000C377.000000 -420.000000,388.000000 -366.000000,388.000000 -309.000000L388.000000 -76.000000C388.000000 -31.000000,377.000000 -31.000000,310.000000 -31.000000L310.000000 -0.000000L423.000000 -0.000000L345.000000 -1.000000L396.000000 -3.000000L423.000000 -3.000000L449.000000 -3.000000L501.000000 -1.000000L535.000000 -0.000000L535.000000 -31.000000C468.000000 -31.000000,457.000000 -31.000000,457.000000 -76.000000L457.000000 -260.000000C457.000000 -364.000000,528.000000 -420.000000,592.000000 -420.000000C655.000000 -420.000000,666.000000 -366.000000,666.000000 -309.000000L666.000000 -76.000000C666.000000 -31.000000,655.000000 -31.000000,588.000000 -31.000000L588.000000 -0.000000L701.000000 -0.000000L623.000000 -1.000000L674.000000 -3.000000L701.000000 -3.000000L727.000000 -3.000000L779.000000 -1.000000L813.000000 -0.000000L813.000000 -31.000000C761.000000 -31.000000,736.000000 -31.000000,735.000000 -61.000000L735.000000 -252.000000C735.000000 -338.000000,735.000000 -369.000000,704.000000 -405.000000C690.000000 -422.000000,657.000000 -442.000000,599.000000 -442.000000C515.000000 -442.000000,471.000000 -382.000000,454.000000 -344.000000C440.000000 -431.000000,366.000000 -442.000000,321.000000 -442.000000C248.000000 -442.000000,201.000000 -399.000000,173.000000 -337.000000L173.000000 -442.000000L32.000000 -431.000000L32.000000 -400.000000C102.000000 -400.000000,110.000000 -393.000000,110.000000 -344.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_110">
      <path style="fill-rule: evenodd;" d="M110.000000 -344.000000L110.000000 -76.000000C110.000000 -31.000000,99.000000 -31.000000,32.000000 -31.000000L32.000000 -0.000000L145.000000 -0.000000L67.000000 -1.000000L118.000000 -3.000000L145.000000 -3.000000L171.000000 -3.000000L223.000000 -1.000000L257.000000 -0.000000L257.000000 -31.000000C190.000000 -31.000000,179.000000 -31.000000,179.000000 -76.000000L179.000000 -260.000000C179.000000 -364.000000,250.000000 -420.000000,314.000000 -420.000000C377.000000 -420.000000,388.000000 -366.000000,388.000000 -309.000000L388.000000 -76.000000C388.000000 -31.000000,377.000000 -31.000000,310.000000 -31.000000L310.000000 -0.000000L423.000000 -0.000000L345.000000 -1.000000L396.000000 -3.000000L423.000000 -3.000000L449.000000 -3.000000L501.000000 -1.000000L535.000000 -0.000000L535.000000 -31.000000C483.000000 -31.000000,458.000000 -31.000000,457.000000 -61.000000L457.000000 -252.000000C457.000000 -338.000000,457.000000 -369.000000,426.000000 -405.000000C412.000000 -422.000000,379.000000 -442.000000,321.000000 -442.000000C248.000000 -442.000000,201.000000 -399.000000,173.000000 -337.000000L173.000000 -442.000000L32.000000 -431.000000L32.000000 -400.000000C102.000000 -400.000000,110.000000 -393.000000,110.000000 -344.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_120">
      <path style="fill-rule: evenodd;" d="M287.000000 -235.000000C317.000000 -273.000000,355.000000 -322.000000,379.000000 -348.000000C410.000000 -384.000000,451.000000 -399.000000,498.000000 -400.000000L498.000000 -431.000000L416.000000 -431.000000L472.000000 -429.000000L442.000000 -428.000000L416.000000 -428.000000L386.000000 -428.000000L333.000000 -430.000000L320.000000 -431.000000L320.000000 -400.000000C341.000000 -398.000000,349.000000 -385.000000,349.000000 -369.000000C349.000000 -353.000000,339.000000 -340.000000,334.000000 -334.000000L272.000000 -256.000000L194.000000 -357.000000C185.000000 -367.000000,185.000000 -369.000000,185.000000 -375.000000C185.000000 -390.000000,200.000000 -399.000000,220.000000 -400.000000L220.000000 -431.000000L112.000000 -431.000000L194.000000 -430.000000L128.000000 -428.000000L112.000000 -428.000000L91.000000 -428.000000L44.000000 -429.000000L17.000000 -431.000000L17.000000 -400.000000C87.000000 -400.000000,88.000000 -399.000000,135.000000 -339.000000L234.000000 -210.000000L140.000000 -91.000000C92.000000 -33.000000,33.000000 -31.000000,12.000000 -31.000000L12.000000 -0.000000L95.000000 -0.000000L38.000000 -2.000000L69.000000 -3.000000L95.000000 -3.000000L124.000000 -3.000000L166.000000 -1.000000L190.000000 -0.000000L190.000000 -31.000000C168.000000 -34.000000,161.000000 -47.000000,161.000000 -62.000000C161.000000 -84.000000,190.000000 -117.000000,251.000000 -189.000000L327.000000 -89.000000C335.000000 -78.000000,348.000000 -62.000000,348.000000 -56.000000C348.000000 -47.000000,339.000000 -32.000000,312.000000 -31.000000L312.000000 -0.000000L420.000000 -0.000000L342.000000 -1.000000L398.000000 -3.000000L420.000000 -3.000000L447.000000 -3.000000L486.000000 -2.000000L516.000000 -0.000000L516.000000 -31.000000C462.000000 -31.000000,444.000000 -33.000000,421.000000 -62.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_20">
      <path style="fill-rule: evenodd;" d="M675.000000 -594.000000C686.000000 -599.000000,694.000000 -604.000000,694.000000 -616.000000C694.000000 -627.000000,686.000000 -636.000000,674.000000 -636.000000C669.000000 -636.000000,660.000000 -632.000000,656.000000 -630.000000L103.000000 -369.000000C86.000000 -361.000000,83.000000 -354.000000,83.000000 -346.000000C83.000000 -337.000000,89.000000 -330.000000,103.000000 -324.000000L656.000000 -64.000000C669.000000 -57.000000,671.000000 -57.000000,674.000000 -57.000000C685.000000 -57.000000,694.000000 -66.000000,694.000000 -77.000000C694.000000 -86.000000,690.000000 -92.000000,673.000000 -100.000000L150.000000 -346.000000M659.000000 137.000000C676.000000 137.000000,694.000000 137.000000,694.000000 117.000000C694.000000 97.000000,673.000000 97.000000,658.000000 97.000000L119.000000 97.000000C104.000000 97.000000,83.000000 97.000000,83.000000 117.000000C83.000000 137.000000,101.000000 137.000000,118.000000 137.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_59">
      <path style="fill-rule: evenodd;" d="M203.000000 -1.000000C203.000000 -67.000000,178.000000 -106.000000,139.000000 -106.000000C106.000000 -106.000000,86.000000 -81.000000,86.000000 -53.000000C86.000000 -26.000000,106.000000 -0.000000,139.000000 -0.000000C151.000000 -0.000000,164.000000 -4.000000,174.000000 -13.000000C177.000000 -15.000000,178.000000 -16.000000,179.000000 -16.000000C180.000000 -16.000000,181.000000 -15.000000,181.000000 -1.000000C181.000000 73.000000,146.000000 133.000000,113.000000 166.000000C102.000000 177.000000,102.000000 179.000000,102.000000 182.000000C102.000000 189.000000,107.000000 193.000000,112.000000 193.000000C123.000000 193.000000,203.000000 116.000000,203.000000 -1.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_80">
      <path style="fill-rule: evenodd;" d="M303.000000 -316.000000L473.000000 -316.000000C615.000000 -316.000000,754.000000 -420.000000,754.000000 -532.000000C754.000000 -609.000000,688.000000 -683.000000,557.000000 -683.000000L233.000000 -683.000000C214.000000 -683.000000,203.000000 -683.000000,203.000000 -664.000000C203.000000 -652.000000,212.000000 -652.000000,232.000000 -652.000000C245.000000 -652.000000,263.000000 -651.000000,275.000000 -650.000000C291.000000 -648.000000,297.000000 -645.000000,297.000000 -634.000000C297.000000 -630.000000,296.000000 -627.000000,293.000000 -615.000000L159.000000 -78.000000C149.000000 -39.000000,147.000000 -31.000000,68.000000 -31.000000C51.000000 -31.000000,40.000000 -31.000000,40.000000 -12.000000C40.000000 -0.000000,52.000000 -0.000000,55.000000 -0.000000C83.000000 -0.000000,154.000000 -3.000000,182.000000 -3.000000C203.000000 -3.000000,225.000000 -2.000000,246.000000 -2.000000C268.000000 -2.000000,290.000000 -0.000000,311.000000 -0.000000C318.000000 -0.000000,331.000000 -0.000000,331.000000 -20.000000C331.000000 -31.000000,322.000000 -31.000000,303.000000 -31.000000C266.000000 -31.000000,238.000000 -31.000000,238.000000 -49.000000C238.000000 -55.000000,240.000000 -60.000000,241.000000 -66.000000M375.000000 -614.000000C384.000000 -649.000000,386.000000 -652.000000,429.000000 -652.000000L525.000000 -652.000000C608.000000 -652.000000,661.000000 -625.000000,661.000000 -556.000000C661.000000 -517.000000,641.000000 -431.000000,602.000000 -395.000000C552.000000 -350.000000,492.000000 -342.000000,448.000000 -342.000000L307.000000 -342.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_82">
      <path style="fill-rule: evenodd;" d="M375.000000 -614.000000C381.000000 -638.000000,384.000000 -648.000000,403.000000 -651.000000C412.000000 -652.000000,444.000000 -652.000000,464.000000 -652.000000C535.000000 -652.000000,646.000000 -652.000000,646.000000 -553.000000C646.000000 -519.000000,630.000000 -450.000000,591.000000 -411.000000C565.000000 -385.000000,512.000000 -353.000000,422.000000 -353.000000L310.000000 -353.000000M519.000000 -340.000000C620.000000 -362.000000,739.000000 -432.000000,739.000000 -533.000000C739.000000 -619.000000,649.000000 -683.000000,518.000000 -683.000000L233.000000 -683.000000C213.000000 -683.000000,204.000000 -683.000000,204.000000 -663.000000C204.000000 -652.000000,213.000000 -652.000000,232.000000 -652.000000C234.000000 -652.000000,253.000000 -652.000000,270.000000 -650.000000C288.000000 -648.000000,297.000000 -647.000000,297.000000 -634.000000C297.000000 -630.000000,296.000000 -627.000000,293.000000 -615.000000L159.000000 -78.000000C149.000000 -39.000000,147.000000 -31.000000,68.000000 -31.000000C50.000000 -31.000000,41.000000 -31.000000,41.000000 -11.000000C41.000000 -0.000000,53.000000 -0.000000,55.000000 -0.000000L181.000000 -0.000000L83.000000 -0.000000L153.000000 -3.000000L181.000000 -3.000000L209.000000 -3.000000L280.000000 -0.000000L308.000000 -0.000000C316.000000 -0.000000,328.000000 -0.000000,328.000000 -20.000000C328.000000 -31.000000,319.000000 -31.000000,300.000000 -31.000000C263.000000 -31.000000,235.000000 -31.000000,235.000000 -49.000000C235.000000 -55.000000,237.000000 -60.000000,238.000000 -66.000000L304.000000 -331.000000L423.000000 -331.000000C514.000000 -331.000000,532.000000 -275.000000,532.000000 -240.000000C532.000000 -225.000000,524.000000 -194.000000,518.000000 -171.000000C511.000000 -143.000000,502.000000 -106.000000,502.000000 -86.000000C502.000000 22.000000,622.000000 22.000000,635.000000 22.000000C720.000000 22.000000,755.000000 -79.000000,755.000000 -93.000000C755.000000 -105.000000,744.000000 -105.000000,743.000000 -105.000000C734.000000 -105.000000,732.000000 -98.000000,730.000000 -91.000000C705.000000 -17.000000,662.000000 -0.000000,639.000000 -0.000000C606.000000 -0.000000,599.000000 -22.000000,599.000000 -61.000000C599.000000 -92.000000,605.000000 -143.000000,609.000000 -175.000000C611.000000 -189.000000,613.000000 -208.000000,613.000000 -222.000000C613.000000 -299.000000,546.000000 -330.000000,519.000000 -340.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmsy7_54">
      <path style="fill-rule: evenodd;" d="M714.000000 -669.000000C721.000000 -681.000000,722.000000 -684.000000,722.000000 -689.000000C722.000000 -702.000000,712.000000 -714.000000,697.000000 -714.000000C684.000000 -714.000000,677.000000 -705.000000,672.000000 -695.000000L178.000000 168.000000C171.000000 180.000000,170.000000 183.000000,170.000000 188.000000C170.000000 201.000000,180.000000 213.000000,195.000000 213.000000C208.000000 213.000000,215.000000 204.000000,220.000000 194.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHptmr8r_95">
      <path style="fill-rule: evenodd;" d="M500.000000 125.000000L500.000000 75.000000L0.000000 75.000000L0.000000 125.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmbx10_118">
      <path style="fill-rule: evenodd;" d="M506.000000 -376.000000C512.000000 -390.000000,516.000000 -397.000000,580.000000 -397.000000L580.000000 -444.000000L501.000000 -444.000000L555.000000 -442.000000L526.000000 -441.000000L501.000000 -441.000000L476.000000 -441.000000L431.000000 -443.000000L410.000000 -444.000000L410.000000 -397.000000C429.000000 -397.000000,458.000000 -394.000000,458.000000 -386.000000C458.000000 -385.000000,457.000000 -383.000000,453.000000 -374.000000L337.000000 -124.000000L210.000000 -397.000000L264.000000 -397.000000L264.000000 -444.000000L140.000000 -444.000000L231.000000 -442.000000L141.000000 -441.000000L140.000000 -441.000000L112.000000 -441.000000L67.000000 -443.000000L26.000000 -444.000000L26.000000 -397.000000L90.000000 -397.000000L265.000000 -21.000000C277.000000 4.000000,290.000000 4.000000,303.000000 4.000000C320.000000 4.000000,330.000000 1.000000,340.000000 -20.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.424973 9.273514)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy7_54"></use>
  </g>
  <path d="M2.239059 11.714005L8.770126 11.714005" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.541916;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,10.584381 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,16.783432 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_82"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,29.009903 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmbx10_118"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,38.939209 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,46.023712 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_80"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,58.471603 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmbx10_118"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,68.401093 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,79.027832 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_20"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,95.853516 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_109"></use>
    <use xlink:href="#GLYPHcmr10_97" x="8.333491"></use>
    <use xlink:href="#GLYPHcmr10_120" x="13.333586"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,125.520340 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_95"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,133.490448 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_97"></use>
    <use xlink:href="#GLYPHcmr10_110" x="5.000095"></use>
    <use xlink:href="#GLYPHcmr10_103" x="10.555756"></use>
    <use xlink:href="#GLYPHcmr10_108" x="15.555851"></use>
    <use xlink:href="#GLYPHcmr10_101" x="18.333681"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,169.798904 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_95"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,177.769180 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_100"></use>
    <use xlink:href="#GLYPHcmr10_105" x="5.555661"></use>
    <use xlink:href="#GLYPHcmr10_11" x="8.333491"></use>
  </g>
</svg></span>,
where <span title="2" style="vertical-align:-0.0991602em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="0.746583em" height="0.573321em" viewBox="0 0 11.945328 9.173141">
<!-- Original BoundingBox: -5.972672 -4.586578 5.972656 4.586563 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmbx10_118">
      <path style="fill-rule: evenodd;" d="M506.000000 -376.000000C512.000000 -390.000000,516.000000 -397.000000,580.000000 -397.000000L580.000000 -444.000000L501.000000 -444.000000L555.000000 -442.000000L526.000000 -441.000000L501.000000 -441.000000L476.000000 -441.000000L431.000000 -443.000000L410.000000 -444.000000L410.000000 -397.000000C429.000000 -397.000000,458.000000 -394.000000,458.000000 -386.000000C458.000000 -385.000000,457.000000 -383.000000,453.000000 -374.000000L337.000000 -124.000000L210.000000 -397.000000L264.000000 -397.000000L264.000000 -444.000000L140.000000 -444.000000L231.000000 -442.000000L141.000000 -441.000000L140.000000 -441.000000L112.000000 -441.000000L67.000000 -443.000000L26.000000 -444.000000L26.000000 -397.000000L90.000000 -397.000000L265.000000 -21.000000C277.000000 4.000000,290.000000 4.000000,303.000000 4.000000C320.000000 4.000000,330.000000 1.000000,340.000000 -20.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.043320 7.586578)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmbx10_118"></use>
  </g>
</svg></span> is the 3D point vector.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'pose_restriction_allowed_axis_direction'</span><span data-if="c" style="display:none">"pose_restriction_allowed_axis_direction"</span><span data-if="cpp" style="display:none">"pose_restriction_allowed_axis_direction"</span><span data-if="com" style="display:none">"pose_restriction_allowed_axis_direction"</span><span data-if="dotnet" style="display:none">"pose_restriction_allowed_axis_direction"</span><span data-if="python" style="display:none">"pose_restriction_allowed_axis_direction"</span></i>:</b></dt>
<dd>
<p>

Set an axis for which rotations are ignored when evaluating the pose
range (see <i><span data-if="hdevelop" style="display:inline">'pose_restriction_reference_pose'</span><span data-if="c" style="display:none">"pose_restriction_reference_pose"</span><span data-if="cpp" style="display:none">"pose_restriction_reference_pose"</span><span data-if="com" style="display:none">"pose_restriction_reference_pose"</span><span data-if="dotnet" style="display:none">"pose_restriction_reference_pose"</span><span data-if="python" style="display:none">"pose_restriction_reference_pose"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'pose_restriction_max_angle_diff'</span><span data-if="c" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="cpp" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="com" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="dotnet" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="python" style="display:none">"pose_restriction_max_angle_diff"</span></i>).
If <a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> is an empty tuple, any previously set
axis is cleared.
</p>
<p>Otherwise, <a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> must contain a tuple of three numbers
which are the direction of the axis in model coordinates.
</p>
<p>If such an axis is set, then a pose is considered to be within the
allowed range if the angle between the axis in the reference pose
and the compared pose is smaller than the allowed angle, using
<span title="3" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="15.1771em" height="1.12127em" viewBox="0 0 242.833710 17.940399">
<!-- Original BoundingBox: -121.416855 -8.970200 121.416855 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_11">
      <path style="fill-rule: evenodd;" d="M448.000000 -400.000000L563.000000 -400.000000L563.000000 -431.000000L445.000000 -431.000000L445.000000 -547.000000C445.000000 -636.000000,493.000000 -683.000000,538.000000 -683.000000C541.000000 -683.000000,556.000000 -683.000000,571.000000 -676.000000C559.000000 -672.000000,541.000000 -659.000000,541.000000 -634.000000C541.000000 -611.000000,557.000000 -591.000000,584.000000 -591.000000C613.000000 -591.000000,628.000000 -611.000000,628.000000 -635.000000C628.000000 -671.000000,593.000000 -705.000000,537.000000 -705.000000C478.000000 -705.000000,434.000000 -667.000000,429.000000 -663.000000C400.000000 -700.000000,344.000000 -705.000000,317.000000 -705.000000C222.000000 -705.000000,106.000000 -653.000000,106.000000 -545.000000L106.000000 -431.000000L27.000000 -431.000000L27.000000 -400.000000L106.000000 -400.000000L106.000000 -76.000000C106.000000 -31.000000,95.000000 -31.000000,28.000000 -31.000000L28.000000 -0.000000L139.000000 -0.000000L61.000000 -1.000000L114.000000 -3.000000L139.000000 -3.000000L164.000000 -3.000000L213.000000 -1.000000L250.000000 -0.000000L250.000000 -31.000000C183.000000 -31.000000,172.000000 -31.000000,172.000000 -76.000000L172.000000 -400.000000L382.000000 -400.000000L382.000000 -76.000000C382.000000 -31.000000,371.000000 -31.000000,304.000000 -31.000000L304.000000 -0.000000L418.000000 -0.000000L343.000000 -1.000000L390.000000 -3.000000L418.000000 -3.000000L458.000000 -3.000000L505.000000 -3.000000L545.000000 -0.000000L545.000000 -31.000000L524.000000 -31.000000C450.000000 -31.000000,448.000000 -42.000000,448.000000 -78.000000M169.000000 -431.000000L169.000000 -544.000000C169.000000 -641.000000,251.000000 -683.000000,316.000000 -683.000000C365.000000 -683.000000,393.000000 -664.000000,394.000000 -664.000000L394.000000 -663.000000C377.000000 -661.000000,357.000000 -648.000000,357.000000 -620.000000C357.000000 -614.000000,358.000000 -589.000000,385.000000 -580.000000C382.000000 -567.000000,382.000000 -558.000000,382.000000 -546.000000L382.000000 -431.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_97">
      <path style="fill-rule: evenodd;" d="M333.000000 -76.000000C337.000000 -36.000000,364.000000 6.000000,411.000000 6.000000C432.000000 6.000000,493.000000 -8.000000,493.000000 -89.000000L493.000000 -145.000000L468.000000 -145.000000L468.000000 -89.000000C468.000000 -31.000000,443.000000 -25.000000,432.000000 -25.000000C399.000000 -25.000000,395.000000 -70.000000,395.000000 -75.000000L395.000000 -275.000000C395.000000 -317.000000,395.000000 -356.000000,359.000000 -393.000000C320.000000 -432.000000,270.000000 -448.000000,222.000000 -448.000000C140.000000 -448.000000,71.000000 -401.000000,71.000000 -335.000000C71.000000 -305.000000,91.000000 -288.000000,117.000000 -288.000000C145.000000 -288.000000,163.000000 -308.000000,163.000000 -334.000000C163.000000 -346.000000,158.000000 -379.000000,112.000000 -380.000000C139.000000 -415.000000,188.000000 -426.000000,220.000000 -426.000000C269.000000 -426.000000,326.000000 -387.000000,326.000000 -298.000000L326.000000 -261.000000C275.000000 -258.000000,205.000000 -255.000000,142.000000 -225.000000C67.000000 -191.000000,42.000000 -139.000000,42.000000 -95.000000C42.000000 -14.000000,139.000000 11.000000,202.000000 11.000000C268.000000 11.000000,314.000000 -29.000000,333.000000 -76.000000M326.000000 -240.000000L326.000000 -140.000000C326.000000 -45.000000,254.000000 -11.000000,209.000000 -11.000000C160.000000 -11.000000,119.000000 -46.000000,119.000000 -96.000000C119.000000 -151.000000,161.000000 -234.000000,326.000000 -240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_100">
      <path style="fill-rule: evenodd;" d="M380.000000 -55.000000L380.000000 11.000000L527.000000 -0.000000L527.000000 -31.000000C457.000000 -31.000000,449.000000 -38.000000,449.000000 -87.000000L449.000000 -694.000000L305.000000 -683.000000L305.000000 -652.000000C375.000000 -652.000000,383.000000 -645.000000,383.000000 -596.000000L383.000000 -380.000000C354.000000 -416.000000,311.000000 -442.000000,257.000000 -442.000000C139.000000 -442.000000,34.000000 -344.000000,34.000000 -215.000000C34.000000 -88.000000,132.000000 11.000000,246.000000 11.000000C310.000000 11.000000,355.000000 -23.000000,380.000000 -55.000000M380.000000 -323.000000L380.000000 -118.000000C380.000000 -100.000000,380.000000 -98.000000,369.000000 -81.000000C339.000000 -33.000000,294.000000 -11.000000,251.000000 -11.000000C206.000000 -11.000000,170.000000 -37.000000,146.000000 -75.000000C120.000000 -116.000000,117.000000 -173.000000,117.000000 -214.000000C117.000000 -251.000000,119.000000 -311.000000,148.000000 -356.000000C169.000000 -387.000000,207.000000 -420.000000,261.000000 -420.000000C296.000000 -420.000000,338.000000 -405.000000,369.000000 -360.000000C380.000000 -343.000000,380.000000 -341.000000,380.000000 -323.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_101">
      <path style="fill-rule: evenodd;" d="M112.000000 -252.000000C118.000000 -401.000000,202.000000 -426.000000,236.000000 -426.000000C339.000000 -426.000000,349.000000 -291.000000,349.000000 -252.000000M111.000000 -231.000000L390.000000 -231.000000C412.000000 -231.000000,415.000000 -231.000000,415.000000 -252.000000C415.000000 -351.000000,361.000000 -448.000000,236.000000 -448.000000C120.000000 -448.000000,28.000000 -345.000000,28.000000 -220.000000C28.000000 -86.000000,133.000000 11.000000,248.000000 11.000000C370.000000 11.000000,415.000000 -100.000000,415.000000 -119.000000C415.000000 -129.000000,407.000000 -131.000000,402.000000 -131.000000C393.000000 -131.000000,391.000000 -125.000000,389.000000 -117.000000C354.000000 -14.000000,264.000000 -14.000000,254.000000 -14.000000C204.000000 -14.000000,164.000000 -44.000000,141.000000 -81.000000C111.000000 -129.000000,111.000000 -195.000000,111.000000 -231.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_103">
      <path style="fill-rule: evenodd;" d="M222.000000 -172.000000C135.000000 -172.000000,135.000000 -272.000000,135.000000 -295.000000C135.000000 -322.000000,136.000000 -354.000000,151.000000 -379.000000C159.000000 -391.000000,182.000000 -419.000000,222.000000 -419.000000C309.000000 -419.000000,309.000000 -319.000000,309.000000 -296.000000C309.000000 -269.000000,308.000000 -237.000000,293.000000 -212.000000C285.000000 -200.000000,262.000000 -172.000000,222.000000 -172.000000M106.000000 -133.000000C106.000000 -137.000000,106.000000 -160.000000,123.000000 -180.000000C162.000000 -152.000000,203.000000 -149.000000,222.000000 -149.000000C315.000000 -149.000000,384.000000 -218.000000,384.000000 -295.000000C384.000000 -332.000000,368.000000 -369.000000,343.000000 -392.000000C379.000000 -426.000000,415.000000 -431.000000,433.000000 -431.000000C435.000000 -431.000000,440.000000 -431.000000,443.000000 -430.000000C432.000000 -426.000000,427.000000 -415.000000,427.000000 -403.000000C427.000000 -386.000000,440.000000 -374.000000,456.000000 -374.000000C466.000000 -374.000000,485.000000 -381.000000,485.000000 -404.000000C485.000000 -421.000000,473.000000 -453.000000,434.000000 -453.000000C414.000000 -453.000000,370.000000 -447.000000,328.000000 -406.000000C286.000000 -439.000000,244.000000 -442.000000,222.000000 -442.000000C129.000000 -442.000000,60.000000 -373.000000,60.000000 -296.000000C60.000000 -252.000000,82.000000 -214.000000,107.000000 -193.000000C94.000000 -178.000000,76.000000 -145.000000,76.000000 -110.000000C76.000000 -79.000000,89.000000 -41.000000,120.000000 -21.000000C60.000000 -4.000000,28.000000 39.000000,28.000000 79.000000C28.000000 151.000000,127.000000 206.000000,249.000000 206.000000C367.000000 206.000000,471.000000 155.000000,471.000000 77.000000C471.000000 42.000000,457.000000 -9.000000,406.000000 -37.000000C353.000000 -65.000000,295.000000 -65.000000,234.000000 -65.000000C209.000000 -65.000000,166.000000 -65.000000,159.000000 -66.000000C127.000000 -70.000000,106.000000 -101.000000,106.000000 -133.000000M250.000000 183.000000C149.000000 183.000000,80.000000 132.000000,80.000000 79.000000C80.000000 33.000000,118.000000 -4.000000,162.000000 -7.000000L221.000000 -7.000000C307.000000 -7.000000,419.000000 -7.000000,419.000000 79.000000C419.000000 133.000000,348.000000 183.000000,250.000000 183.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_105">
      <path style="fill-rule: evenodd;" d="M177.000000 -442.000000L37.000000 -431.000000L37.000000 -400.000000C102.000000 -400.000000,111.000000 -394.000000,111.000000 -345.000000L111.000000 -76.000000C111.000000 -31.000000,100.000000 -31.000000,33.000000 -31.000000L33.000000 -0.000000L143.000000 -0.000000L65.000000 -1.000000L119.000000 -3.000000L143.000000 -3.000000L178.000000 -3.000000L213.000000 -1.000000L247.000000 -0.000000L247.000000 -31.000000C181.000000 -31.000000,177.000000 -36.000000,177.000000 -75.000000M181.000000 -616.000000C181.000000 -648.000000,156.000000 -669.000000,128.000000 -669.000000C97.000000 -669.000000,75.000000 -642.000000,75.000000 -616.000000C75.000000 -589.000000,97.000000 -563.000000,128.000000 -563.000000C156.000000 -563.000000,181.000000 -584.000000,181.000000 -616.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_108">
      <path style="fill-rule: evenodd;" d="M177.000000 -694.000000L33.000000 -683.000000L33.000000 -652.000000C103.000000 -652.000000,111.000000 -645.000000,111.000000 -596.000000L111.000000 -76.000000C111.000000 -31.000000,100.000000 -31.000000,33.000000 -31.000000L33.000000 -0.000000L144.000000 -0.000000L66.000000 -1.000000L119.000000 -3.000000L144.000000 -3.000000L169.000000 -3.000000L218.000000 -1.000000L255.000000 -0.000000L255.000000 -31.000000C188.000000 -31.000000,177.000000 -31.000000,177.000000 -76.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_109">
      <path style="fill-rule: evenodd;" d="M110.000000 -344.000000L110.000000 -76.000000C110.000000 -31.000000,99.000000 -31.000000,32.000000 -31.000000L32.000000 -0.000000L145.000000 -0.000000L67.000000 -1.000000L118.000000 -3.000000L145.000000 -3.000000L171.000000 -3.000000L223.000000 -1.000000L257.000000 -0.000000L257.000000 -31.000000C190.000000 -31.000000,179.000000 -31.000000,179.000000 -76.000000L179.000000 -260.000000C179.000000 -364.000000,250.000000 -420.000000,314.000000 -420.000000C377.000000 -420.000000,388.000000 -366.000000,388.000000 -309.000000L388.000000 -76.000000C388.000000 -31.000000,377.000000 -31.000000,310.000000 -31.000000L310.000000 -0.000000L423.000000 -0.000000L345.000000 -1.000000L396.000000 -3.000000L423.000000 -3.000000L449.000000 -3.000000L501.000000 -1.000000L535.000000 -0.000000L535.000000 -31.000000C468.000000 -31.000000,457.000000 -31.000000,457.000000 -76.000000L457.000000 -260.000000C457.000000 -364.000000,528.000000 -420.000000,592.000000 -420.000000C655.000000 -420.000000,666.000000 -366.000000,666.000000 -309.000000L666.000000 -76.000000C666.000000 -31.000000,655.000000 -31.000000,588.000000 -31.000000L588.000000 -0.000000L701.000000 -0.000000L623.000000 -1.000000L674.000000 -3.000000L701.000000 -3.000000L727.000000 -3.000000L779.000000 -1.000000L813.000000 -0.000000L813.000000 -31.000000C761.000000 -31.000000,736.000000 -31.000000,735.000000 -61.000000L735.000000 -252.000000C735.000000 -338.000000,735.000000 -369.000000,704.000000 -405.000000C690.000000 -422.000000,657.000000 -442.000000,599.000000 -442.000000C515.000000 -442.000000,471.000000 -382.000000,454.000000 -344.000000C440.000000 -431.000000,366.000000 -442.000000,321.000000 -442.000000C248.000000 -442.000000,201.000000 -399.000000,173.000000 -337.000000L173.000000 -442.000000L32.000000 -431.000000L32.000000 -400.000000C102.000000 -400.000000,110.000000 -393.000000,110.000000 -344.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_110">
      <path style="fill-rule: evenodd;" d="M110.000000 -344.000000L110.000000 -76.000000C110.000000 -31.000000,99.000000 -31.000000,32.000000 -31.000000L32.000000 -0.000000L145.000000 -0.000000L67.000000 -1.000000L118.000000 -3.000000L145.000000 -3.000000L171.000000 -3.000000L223.000000 -1.000000L257.000000 -0.000000L257.000000 -31.000000C190.000000 -31.000000,179.000000 -31.000000,179.000000 -76.000000L179.000000 -260.000000C179.000000 -364.000000,250.000000 -420.000000,314.000000 -420.000000C377.000000 -420.000000,388.000000 -366.000000,388.000000 -309.000000L388.000000 -76.000000C388.000000 -31.000000,377.000000 -31.000000,310.000000 -31.000000L310.000000 -0.000000L423.000000 -0.000000L345.000000 -1.000000L396.000000 -3.000000L423.000000 -3.000000L449.000000 -3.000000L501.000000 -1.000000L535.000000 -0.000000L535.000000 -31.000000C483.000000 -31.000000,458.000000 -31.000000,457.000000 -61.000000L457.000000 -252.000000C457.000000 -338.000000,457.000000 -369.000000,426.000000 -405.000000C412.000000 -422.000000,379.000000 -442.000000,321.000000 -442.000000C248.000000 -442.000000,201.000000 -399.000000,173.000000 -337.000000L173.000000 -442.000000L32.000000 -431.000000L32.000000 -400.000000C102.000000 -400.000000,110.000000 -393.000000,110.000000 -344.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_115">
      <path style="fill-rule: evenodd;" d="M208.000000 -194.000000C230.000000 -190.000000,312.000000 -174.000000,312.000000 -102.000000C312.000000 -51.000000,277.000000 -11.000000,199.000000 -11.000000C115.000000 -11.000000,79.000000 -68.000000,60.000000 -153.000000C57.000000 -166.000000,56.000000 -170.000000,46.000000 -170.000000C33.000000 -170.000000,33.000000 -163.000000,33.000000 -145.000000L33.000000 -13.000000C33.000000 4.000000,33.000000 11.000000,44.000000 11.000000C49.000000 11.000000,50.000000 10.000000,69.000000 -9.000000C71.000000 -11.000000,71.000000 -13.000000,89.000000 -32.000000C133.000000 10.000000,178.000000 11.000000,199.000000 11.000000C314.000000 11.000000,360.000000 -56.000000,360.000000 -128.000000C360.000000 -181.000000,330.000000 -211.000000,318.000000 -223.000000C285.000000 -255.000000,246.000000 -263.000000,204.000000 -271.000000C148.000000 -282.000000,81.000000 -295.000000,81.000000 -353.000000C81.000000 -388.000000,107.000000 -429.000000,193.000000 -429.000000C303.000000 -429.000000,308.000000 -339.000000,310.000000 -308.000000C311.000000 -299.000000,320.000000 -299.000000,322.000000 -299.000000C335.000000 -299.000000,335.000000 -304.000000,335.000000 -323.000000L335.000000 -424.000000C335.000000 -441.000000,335.000000 -448.000000,324.000000 -448.000000C319.000000 -448.000000,317.000000 -448.000000,304.000000 -436.000000C301.000000 -432.000000,291.000000 -423.000000,287.000000 -420.000000C249.000000 -448.000000,208.000000 -448.000000,193.000000 -448.000000C71.000000 -448.000000,33.000000 -381.000000,33.000000 -325.000000C33.000000 -290.000000,49.000000 -262.000000,76.000000 -240.000000C108.000000 -214.000000,136.000000 -208.000000,208.000000 -194.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_120">
      <path style="fill-rule: evenodd;" d="M287.000000 -235.000000C317.000000 -273.000000,355.000000 -322.000000,379.000000 -348.000000C410.000000 -384.000000,451.000000 -399.000000,498.000000 -400.000000L498.000000 -431.000000L416.000000 -431.000000L472.000000 -429.000000L442.000000 -428.000000L416.000000 -428.000000L386.000000 -428.000000L333.000000 -430.000000L320.000000 -431.000000L320.000000 -400.000000C341.000000 -398.000000,349.000000 -385.000000,349.000000 -369.000000C349.000000 -353.000000,339.000000 -340.000000,334.000000 -334.000000L272.000000 -256.000000L194.000000 -357.000000C185.000000 -367.000000,185.000000 -369.000000,185.000000 -375.000000C185.000000 -390.000000,200.000000 -399.000000,220.000000 -400.000000L220.000000 -431.000000L112.000000 -431.000000L194.000000 -430.000000L128.000000 -428.000000L112.000000 -428.000000L91.000000 -428.000000L44.000000 -429.000000L17.000000 -431.000000L17.000000 -400.000000C87.000000 -400.000000,88.000000 -399.000000,135.000000 -339.000000L234.000000 -210.000000L140.000000 -91.000000C92.000000 -33.000000,33.000000 -31.000000,12.000000 -31.000000L12.000000 -0.000000L95.000000 -0.000000L38.000000 -2.000000L69.000000 -3.000000L95.000000 -3.000000L124.000000 -3.000000L166.000000 -1.000000L190.000000 -0.000000L190.000000 -31.000000C168.000000 -34.000000,161.000000 -47.000000,161.000000 -62.000000C161.000000 -84.000000,190.000000 -117.000000,251.000000 -189.000000L327.000000 -89.000000C335.000000 -78.000000,348.000000 -62.000000,348.000000 -56.000000C348.000000 -47.000000,339.000000 -32.000000,312.000000 -31.000000L312.000000 -0.000000L420.000000 -0.000000L342.000000 -1.000000L398.000000 -3.000000L420.000000 -3.000000L447.000000 -3.000000L486.000000 -2.000000L516.000000 -0.000000L516.000000 -31.000000C462.000000 -31.000000,444.000000 -33.000000,421.000000 -62.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_20">
      <path style="fill-rule: evenodd;" d="M675.000000 -594.000000C686.000000 -599.000000,694.000000 -604.000000,694.000000 -616.000000C694.000000 -627.000000,686.000000 -636.000000,674.000000 -636.000000C669.000000 -636.000000,660.000000 -632.000000,656.000000 -630.000000L103.000000 -369.000000C86.000000 -361.000000,83.000000 -354.000000,83.000000 -346.000000C83.000000 -337.000000,89.000000 -330.000000,103.000000 -324.000000L656.000000 -64.000000C669.000000 -57.000000,671.000000 -57.000000,674.000000 -57.000000C685.000000 -57.000000,694.000000 -66.000000,694.000000 -77.000000C694.000000 -86.000000,690.000000 -92.000000,673.000000 -100.000000L150.000000 -346.000000M659.000000 137.000000C676.000000 137.000000,694.000000 137.000000,694.000000 117.000000C694.000000 97.000000,673.000000 97.000000,658.000000 97.000000L119.000000 97.000000C104.000000 97.000000,83.000000 97.000000,83.000000 117.000000C83.000000 137.000000,101.000000 137.000000,118.000000 137.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_59">
      <path style="fill-rule: evenodd;" d="M203.000000 -1.000000C203.000000 -67.000000,178.000000 -106.000000,139.000000 -106.000000C106.000000 -106.000000,86.000000 -81.000000,86.000000 -53.000000C86.000000 -26.000000,106.000000 -0.000000,139.000000 -0.000000C151.000000 -0.000000,164.000000 -4.000000,174.000000 -13.000000C177.000000 -15.000000,178.000000 -16.000000,179.000000 -16.000000C180.000000 -16.000000,181.000000 -15.000000,181.000000 -1.000000C181.000000 73.000000,146.000000 133.000000,113.000000 166.000000C102.000000 177.000000,102.000000 179.000000,102.000000 182.000000C102.000000 189.000000,107.000000 193.000000,112.000000 193.000000C123.000000 193.000000,203.000000 116.000000,203.000000 -1.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_80">
      <path style="fill-rule: evenodd;" d="M303.000000 -316.000000L473.000000 -316.000000C615.000000 -316.000000,754.000000 -420.000000,754.000000 -532.000000C754.000000 -609.000000,688.000000 -683.000000,557.000000 -683.000000L233.000000 -683.000000C214.000000 -683.000000,203.000000 -683.000000,203.000000 -664.000000C203.000000 -652.000000,212.000000 -652.000000,232.000000 -652.000000C245.000000 -652.000000,263.000000 -651.000000,275.000000 -650.000000C291.000000 -648.000000,297.000000 -645.000000,297.000000 -634.000000C297.000000 -630.000000,296.000000 -627.000000,293.000000 -615.000000L159.000000 -78.000000C149.000000 -39.000000,147.000000 -31.000000,68.000000 -31.000000C51.000000 -31.000000,40.000000 -31.000000,40.000000 -12.000000C40.000000 -0.000000,52.000000 -0.000000,55.000000 -0.000000C83.000000 -0.000000,154.000000 -3.000000,182.000000 -3.000000C203.000000 -3.000000,225.000000 -2.000000,246.000000 -2.000000C268.000000 -2.000000,290.000000 -0.000000,311.000000 -0.000000C318.000000 -0.000000,331.000000 -0.000000,331.000000 -20.000000C331.000000 -31.000000,322.000000 -31.000000,303.000000 -31.000000C266.000000 -31.000000,238.000000 -31.000000,238.000000 -49.000000C238.000000 -55.000000,240.000000 -60.000000,241.000000 -66.000000M375.000000 -614.000000C384.000000 -649.000000,386.000000 -652.000000,429.000000 -652.000000L525.000000 -652.000000C608.000000 -652.000000,661.000000 -625.000000,661.000000 -556.000000C661.000000 -517.000000,641.000000 -431.000000,602.000000 -395.000000C552.000000 -350.000000,492.000000 -342.000000,448.000000 -342.000000L307.000000 -342.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_82">
      <path style="fill-rule: evenodd;" d="M375.000000 -614.000000C381.000000 -638.000000,384.000000 -648.000000,403.000000 -651.000000C412.000000 -652.000000,444.000000 -652.000000,464.000000 -652.000000C535.000000 -652.000000,646.000000 -652.000000,646.000000 -553.000000C646.000000 -519.000000,630.000000 -450.000000,591.000000 -411.000000C565.000000 -385.000000,512.000000 -353.000000,422.000000 -353.000000L310.000000 -353.000000M519.000000 -340.000000C620.000000 -362.000000,739.000000 -432.000000,739.000000 -533.000000C739.000000 -619.000000,649.000000 -683.000000,518.000000 -683.000000L233.000000 -683.000000C213.000000 -683.000000,204.000000 -683.000000,204.000000 -663.000000C204.000000 -652.000000,213.000000 -652.000000,232.000000 -652.000000C234.000000 -652.000000,253.000000 -652.000000,270.000000 -650.000000C288.000000 -648.000000,297.000000 -647.000000,297.000000 -634.000000C297.000000 -630.000000,296.000000 -627.000000,293.000000 -615.000000L159.000000 -78.000000C149.000000 -39.000000,147.000000 -31.000000,68.000000 -31.000000C50.000000 -31.000000,41.000000 -31.000000,41.000000 -11.000000C41.000000 -0.000000,53.000000 -0.000000,55.000000 -0.000000L181.000000 -0.000000L83.000000 -0.000000L153.000000 -3.000000L181.000000 -3.000000L209.000000 -3.000000L280.000000 -0.000000L308.000000 -0.000000C316.000000 -0.000000,328.000000 -0.000000,328.000000 -20.000000C328.000000 -31.000000,319.000000 -31.000000,300.000000 -31.000000C263.000000 -31.000000,235.000000 -31.000000,235.000000 -49.000000C235.000000 -55.000000,237.000000 -60.000000,238.000000 -66.000000L304.000000 -331.000000L423.000000 -331.000000C514.000000 -331.000000,532.000000 -275.000000,532.000000 -240.000000C532.000000 -225.000000,524.000000 -194.000000,518.000000 -171.000000C511.000000 -143.000000,502.000000 -106.000000,502.000000 -86.000000C502.000000 22.000000,622.000000 22.000000,635.000000 22.000000C720.000000 22.000000,755.000000 -79.000000,755.000000 -93.000000C755.000000 -105.000000,744.000000 -105.000000,743.000000 -105.000000C734.000000 -105.000000,732.000000 -98.000000,730.000000 -91.000000C705.000000 -17.000000,662.000000 -0.000000,639.000000 -0.000000C606.000000 -0.000000,599.000000 -22.000000,599.000000 -61.000000C599.000000 -92.000000,605.000000 -143.000000,609.000000 -175.000000C611.000000 -189.000000,613.000000 -208.000000,613.000000 -222.000000C613.000000 -299.000000,546.000000 -330.000000,519.000000 -340.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmsy7_54">
      <path style="fill-rule: evenodd;" d="M714.000000 -669.000000C721.000000 -681.000000,722.000000 -684.000000,722.000000 -689.000000C722.000000 -702.000000,712.000000 -714.000000,697.000000 -714.000000C684.000000 -714.000000,677.000000 -705.000000,672.000000 -695.000000L178.000000 168.000000C171.000000 180.000000,170.000000 183.000000,170.000000 188.000000C170.000000 201.000000,180.000000 213.000000,195.000000 213.000000C208.000000 213.000000,215.000000 204.000000,220.000000 194.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHptmr8r_95">
      <path style="fill-rule: evenodd;" d="M500.000000 125.000000L500.000000 75.000000L0.000000 75.000000L0.000000 125.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.599136 9.273514)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy7_54"></use>
  </g>
  <path d="M2.413223 11.714005L8.944290 11.714005" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.541916;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,10.758545 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,16.957596 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_82"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,31.840714 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_97"></use>
    <use xlink:href="#GLYPHcmr10_120" x="5.000095"></use>
    <use xlink:href="#GLYPHcmr10_105" x="10.277980"></use>
    <use xlink:href="#GLYPHcmr10_115" x="13.055811"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,58.939209 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,66.023727 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_80"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,81.128250 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_97"></use>
    <use xlink:href="#GLYPHcmr10_120" x="5.000095"></use>
    <use xlink:href="#GLYPHcmr10_105" x="10.277980"></use>
    <use xlink:href="#GLYPHcmr10_115" x="13.055811"></use>
    <use xlink:href="#GLYPHcmr10_41" x="17.000325"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,118.853516 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_20"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,135.679337 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_109"></use>
    <use xlink:href="#GLYPHcmr10_97" x="8.333491"></use>
    <use xlink:href="#GLYPHcmr10_120" x="13.333586"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,165.346008 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_95"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,173.316132 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_97"></use>
    <use xlink:href="#GLYPHcmr10_110" x="5.000095"></use>
    <use xlink:href="#GLYPHcmr10_103" x="10.555756"></use>
    <use xlink:href="#GLYPHcmr10_108" x="15.555851"></use>
    <use xlink:href="#GLYPHcmr10_101" x="18.333681"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,209.624741 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_95"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,217.594864 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_100"></use>
    <use xlink:href="#GLYPHcmr10_105" x="5.555661"></use>
    <use xlink:href="#GLYPHcmr10_11" x="8.333491"></use>
  </g>
</svg></span>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'pose_restriction_allowed_axis_origin'</span><span data-if="c" style="display:none">"pose_restriction_allowed_axis_origin"</span><span data-if="cpp" style="display:none">"pose_restriction_allowed_axis_origin"</span><span data-if="com" style="display:none">"pose_restriction_allowed_axis_origin"</span><span data-if="dotnet" style="display:none">"pose_restriction_allowed_axis_origin"</span><span data-if="python" style="display:none">"pose_restriction_allowed_axis_origin"</span></i>:</b></dt>
<dd>
<p>

Set a point on the allowed rotation axis of the model.
<a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> must be a tuple with three numbers, which
represent a point in model coordinates that lies on the symmetry
axis of the model.
This parameter is optional and defaults to the center of the
model as returned by <a href="get_surface_model_param.html"><code><span data-if="hdevelop" style="display:inline">get_surface_model_param</span><span data-if="c" style="display:none">get_surface_model_param</span><span data-if="cpp" style="display:none">GetSurfaceModelParam</span><span data-if="com" style="display:none">GetSurfaceModelParam</span><span data-if="dotnet" style="display:none">GetSurfaceModelParam</span><span data-if="python" style="display:none">get_surface_model_param</span></code></a>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'pose_restriction_filter_final_poses_only'</span><span data-if="c" style="display:none">"pose_restriction_filter_final_poses_only"</span><span data-if="cpp" style="display:none">"pose_restriction_filter_final_poses_only"</span><span data-if="com" style="display:none">"pose_restriction_filter_final_poses_only"</span><span data-if="dotnet" style="display:none">"pose_restriction_filter_final_poses_only"</span><span data-if="python" style="display:none">"pose_restriction_filter_final_poses_only"</span></i>:</b></dt>
<dd>
<p>

This flag allows to switch between two different modes for the pose
range restriction.
</p>
<p>If <a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> is <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i> (default), poses outside the
defined pose range are removed early in the matching process.
Use this setting if the object pose in the scene is always within the
defined rotation range, but the object is sometimes found with incorrect
rotations.
Note that with this setting, <a href="find_surface_model.html"><code><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></code></a> might return
poses that the algorithm considers to be locally suboptimal, because the
locally more optimal poses are outside the allowed pose range.
Also note that with this setting, the pose restriction is observed
strictly.
When passing an input pose to <a href="refine_surface_model_pose.html"><code><span data-if="hdevelop" style="display:inline">refine_surface_model_pose</span><span data-if="c" style="display:none">refine_surface_model_pose</span><span data-if="cpp" style="display:none">RefineSurfaceModelPose</span><span data-if="com" style="display:none">RefineSurfaceModelPose</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPose</span><span data-if="python" style="display:none">refine_surface_model_pose</span></code></a>
that is outside the allowed pose range, it will be transformed to be
within the allowed pose range.
</p>
<p>If <a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> is <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>, only the final poses
are filtered before returning them.
This allows removing poses that are valid object poses, but are not
needed by the application because, for example, the object cannot be
picked up by the robot in a certain orientation.
Note that in this setting, less poses than requested might be returned
by <a href="find_surface_model.html"><code><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></code></a> if one or more of the final poses
are outside the allowed pose range.
</p>
</dd>
</dl>

</li>
<li>
<p> <b>Modifying self-similarities.</b>
The following parameters can be used to adapt the optimization regarding
self-similar poses, i.e., poses under which the model is almost
symmetric.
The parameters can only be set if the parameter
<i><span data-if="hdevelop" style="display:inline">'train_self_similar_poses'</span><span data-if="c" style="display:none">"train_self_similar_poses"</span><span data-if="cpp" style="display:none">"train_self_similar_poses"</span><span data-if="com" style="display:none">"train_self_similar_poses"</span><span data-if="dotnet" style="display:none">"train_self_similar_poses"</span><span data-if="python" style="display:none">"train_self_similar_poses"</span></i> was activated during the call
of <a href="create_surface_model.html"><code><span data-if="hdevelop" style="display:inline">create_surface_model</span><span data-if="c" style="display:none">create_surface_model</span><span data-if="cpp" style="display:none">CreateSurfaceModel</span><span data-if="com" style="display:none">CreateSurfaceModel</span><span data-if="dotnet" style="display:none">CreateSurfaceModel</span><span data-if="python" style="display:none">create_surface_model</span></code></a>.
</p>
<p>Note that for performance reasons, when changing the self-similarity search
with any of the parameters below, certain internal data structures of the surface
model are re-created, which can take a few seconds.
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'self_similar_poses'</span><span data-if="c" style="display:none">"self_similar_poses"</span><span data-if="cpp" style="display:none">"self_similar_poses"</span><span data-if="com" style="display:none">"self_similar_poses"</span><span data-if="dotnet" style="display:none">"self_similar_poses"</span><span data-if="python" style="display:none">"self_similar_poses"</span></i>:</b></dt>
<dd>
<p>

Set the self-similar poses of the model.
Those are poses under which the model is very similar to itself
and which can be confused during search.
</p>
<p><a href="find_surface_model.html"><code><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></code></a> will find such poses automatically
if the parameter <i><span data-if="hdevelop" style="display:inline">'use_self_similar_poses'</span><span data-if="c" style="display:none">"use_self_similar_poses"</span><span data-if="cpp" style="display:none">"use_self_similar_poses"</span><span data-if="com" style="display:none">"use_self_similar_poses"</span><span data-if="dotnet" style="display:none">"use_self_similar_poses"</span><span data-if="python" style="display:none">"use_self_similar_poses"</span></i> is activated.
The poses can be obtained with <a href="get_surface_model_param.html"><code><span data-if="hdevelop" style="display:inline">get_surface_model_param</span><span data-if="c" style="display:none">get_surface_model_param</span><span data-if="cpp" style="display:none">GetSurfaceModelParam</span><span data-if="com" style="display:none">GetSurfaceModelParam</span><span data-if="dotnet" style="display:none">GetSurfaceModelParam</span><span data-if="python" style="display:none">get_surface_model_param</span></code></a>.
If the automatically determined poses are not sufficient to
resolve self-similarities, the self-similar poses can be adapted
with this parameter.
It is usually not recommended to modify this parameter.
</p>
<p><a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> must contain a list of poses.
The identity pose will automatically be added to the list of poses,
if it is not already contained in it.
</p>
</dd>
</dl>
</li>
</ul>
<h2 id="sec_attention">注意</h2>
<p>Note that in some cases, if this operator encounters an error condition
while modifying the surface model, such as an out-of-memory error, the
model might be left in an inconsistent, partly changed state.
In such cases, it is recommended to clear the surface model and to no
longer use it.
</p>
<p>This does not apply to error codes due to invalid parameters, which are
checked before performing any model modification.
</p>
<p>Also note that setting some of the options requires re-generation of
internal data structures and can take as long as the original
<a href="create_surface_model.html"><code><span data-if="hdevelop" style="display:inline">create_surface_model</span><span data-if="c" style="display:none">create_surface_model</span><span data-if="cpp" style="display:none">CreateSurfaceModel</span><span data-if="com" style="display:none">CreateSurfaceModel</span><span data-if="dotnet" style="display:none">CreateSurfaceModel</span><span data-if="python" style="display:none">create_surface_model</span></code></a>.
</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  
    <li>Automatically parallelized on internal data level.</li>
  
</ul>
<p>This operator modifies the state of the following input parameter:</p>
<ul><li><a href="#SurfaceModelID"><span data-if="hdevelop" style="display:inline">SurfaceModelID</span><span data-if="c" style="display:none">SurfaceModelID</span><span data-if="cpp" style="display:none">SurfaceModelID</span><span data-if="com" style="display:none">SurfaceModelID</span><span data-if="dotnet" style="display:none">surfaceModelID</span><span data-if="python" style="display:none">surface_model_id</span></a></li></ul>
<p>During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.</p>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="SurfaceModelID" class="parname"><b><code><span data-if="hdevelop" style="display:inline">SurfaceModelID</span><span data-if="c" style="display:none">SurfaceModelID</span><span data-if="cpp" style="display:none">SurfaceModelID</span><span data-if="com" style="display:none">SurfaceModelID</span><span data-if="dotnet" style="display:none">surfaceModelID</span><span data-if="python" style="display:none">surface_model_id</span></code></b> (input_control, state is modified)  </span><span>surface_model <code>→</code> <span data-if="dotnet" style="display:none"><a href="HSurfaceModel.html">HSurfaceModel</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the surface model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamName" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></b> (input_control)  </span><span>attribute.name <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Name of the parameter.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'camera_parameter'</span>
    <span data-if="c" style="display:none">"camera_parameter"</span>
    <span data-if="cpp" style="display:none">"camera_parameter"</span>
    <span data-if="com" style="display:none">"camera_parameter"</span>
    <span data-if="dotnet" style="display:none">"camera_parameter"</span>
    <span data-if="python" style="display:none">"camera_parameter"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'camera_parameter'</span><span data-if="c" style="display:none">"camera_parameter"</span><span data-if="cpp" style="display:none">"camera_parameter"</span><span data-if="com" style="display:none">"camera_parameter"</span><span data-if="dotnet" style="display:none">"camera_parameter"</span><span data-if="python" style="display:none">"camera_parameter"</span>, <span data-if="hdevelop" style="display:inline">'camera_pose'</span><span data-if="c" style="display:none">"camera_pose"</span><span data-if="cpp" style="display:none">"camera_pose"</span><span data-if="com" style="display:none">"camera_pose"</span><span data-if="dotnet" style="display:none">"camera_pose"</span><span data-if="python" style="display:none">"camera_pose"</span>, <span data-if="hdevelop" style="display:inline">'clear_cameras'</span><span data-if="c" style="display:none">"clear_cameras"</span><span data-if="cpp" style="display:none">"clear_cameras"</span><span data-if="com" style="display:none">"clear_cameras"</span><span data-if="dotnet" style="display:none">"clear_cameras"</span><span data-if="python" style="display:none">"clear_cameras"</span>, <span data-if="hdevelop" style="display:inline">'pose_restriction_allowed_axis_direction'</span><span data-if="c" style="display:none">"pose_restriction_allowed_axis_direction"</span><span data-if="cpp" style="display:none">"pose_restriction_allowed_axis_direction"</span><span data-if="com" style="display:none">"pose_restriction_allowed_axis_direction"</span><span data-if="dotnet" style="display:none">"pose_restriction_allowed_axis_direction"</span><span data-if="python" style="display:none">"pose_restriction_allowed_axis_direction"</span>, <span data-if="hdevelop" style="display:inline">'pose_restriction_allowed_axis_origin'</span><span data-if="c" style="display:none">"pose_restriction_allowed_axis_origin"</span><span data-if="cpp" style="display:none">"pose_restriction_allowed_axis_origin"</span><span data-if="com" style="display:none">"pose_restriction_allowed_axis_origin"</span><span data-if="dotnet" style="display:none">"pose_restriction_allowed_axis_origin"</span><span data-if="python" style="display:none">"pose_restriction_allowed_axis_origin"</span>, <span data-if="hdevelop" style="display:inline">'pose_restriction_filter_final_poses_only'</span><span data-if="c" style="display:none">"pose_restriction_filter_final_poses_only"</span><span data-if="cpp" style="display:none">"pose_restriction_filter_final_poses_only"</span><span data-if="com" style="display:none">"pose_restriction_filter_final_poses_only"</span><span data-if="dotnet" style="display:none">"pose_restriction_filter_final_poses_only"</span><span data-if="python" style="display:none">"pose_restriction_filter_final_poses_only"</span>, <span data-if="hdevelop" style="display:inline">'pose_restriction_max_angle_diff'</span><span data-if="c" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="cpp" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="com" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="dotnet" style="display:none">"pose_restriction_max_angle_diff"</span><span data-if="python" style="display:none">"pose_restriction_max_angle_diff"</span>, <span data-if="hdevelop" style="display:inline">'pose_restriction_reference_pose'</span><span data-if="c" style="display:none">"pose_restriction_reference_pose"</span><span data-if="cpp" style="display:none">"pose_restriction_reference_pose"</span><span data-if="com" style="display:none">"pose_restriction_reference_pose"</span><span data-if="dotnet" style="display:none">"pose_restriction_reference_pose"</span><span data-if="python" style="display:none">"pose_restriction_reference_pose"</span>, <span data-if="hdevelop" style="display:inline">'self_similar_poses'</span><span data-if="c" style="display:none">"self_similar_poses"</span><span data-if="cpp" style="display:none">"self_similar_poses"</span><span data-if="com" style="display:none">"self_similar_poses"</span><span data-if="dotnet" style="display:none">"self_similar_poses"</span><span data-if="python" style="display:none">"self_similar_poses"</span>, <span data-if="hdevelop" style="display:inline">'symmetry_axis_direction'</span><span data-if="c" style="display:none">"symmetry_axis_direction"</span><span data-if="cpp" style="display:none">"symmetry_axis_direction"</span><span data-if="com" style="display:none">"symmetry_axis_direction"</span><span data-if="dotnet" style="display:none">"symmetry_axis_direction"</span><span data-if="python" style="display:none">"symmetry_axis_direction"</span>, <span data-if="hdevelop" style="display:inline">'symmetry_axis_origin'</span><span data-if="c" style="display:none">"symmetry_axis_origin"</span><span data-if="cpp" style="display:none">"symmetry_axis_origin"</span><span data-if="com" style="display:none">"symmetry_axis_origin"</span><span data-if="dotnet" style="display:none">"symmetry_axis_origin"</span><span data-if="python" style="display:none">"symmetry_axis_origin"</span>, <span data-if="hdevelop" style="display:inline">'symmetry_poses'</span><span data-if="c" style="display:none">"symmetry_poses"</span><span data-if="cpp" style="display:none">"symmetry_poses"</span><span data-if="com" style="display:none">"symmetry_poses"</span><span data-if="dotnet" style="display:none">"symmetry_poses"</span><span data-if="python" style="display:none">"symmetry_poses"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamValue" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></b> (input_control)  </span><span>attribute.value(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[str, float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">string / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">string / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">HString / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">char* / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Value of the parameter.</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span>, <span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span>, [], [0,0,0,0,0,0,0], [0,0,1]</p>
</div>
<h2 id="sec_result">结果</h2>
<p><code><span data-if="hdevelop" style="display:inline">set_surface_model_param</span><span data-if="c" style="display:none">set_surface_model_param</span><span data-if="cpp" style="display:none">SetSurfaceModelParam</span><span data-if="com" style="display:none">SetSurfaceModelParam</span><span data-if="dotnet" style="display:none">SetSurfaceModelParam</span><span data-if="python" style="display:none">set_surface_model_param</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if all parameters are
correct. 如有必要，将引发异常。</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="create_surface_model.html"><span data-if="hdevelop" style="display:inline">create_surface_model</span><span data-if="c" style="display:none">create_surface_model</span><span data-if="cpp" style="display:none">CreateSurfaceModel</span><span data-if="com" style="display:none">CreateSurfaceModel</span><span data-if="dotnet" style="display:none">CreateSurfaceModel</span><span data-if="python" style="display:none">create_surface_model</span></a></code>, 
<code><a href="read_surface_model.html"><span data-if="hdevelop" style="display:inline">read_surface_model</span><span data-if="c" style="display:none">read_surface_model</span><span data-if="cpp" style="display:none">ReadSurfaceModel</span><span data-if="com" style="display:none">ReadSurfaceModel</span><span data-if="dotnet" style="display:none">ReadSurfaceModel</span><span data-if="python" style="display:none">read_surface_model</span></a></code>, 
<code><a href="get_surface_model_param.html"><span data-if="hdevelop" style="display:inline">get_surface_model_param</span><span data-if="c" style="display:none">get_surface_model_param</span><span data-if="cpp" style="display:none">GetSurfaceModelParam</span><span data-if="com" style="display:none">GetSurfaceModelParam</span><span data-if="dotnet" style="display:none">GetSurfaceModelParam</span><span data-if="python" style="display:none">get_surface_model_param</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="find_surface_model.html"><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></a></code>, 
<code><a href="refine_surface_model_pose.html"><span data-if="hdevelop" style="display:inline">refine_surface_model_pose</span><span data-if="c" style="display:none">refine_surface_model_pose</span><span data-if="cpp" style="display:none">RefineSurfaceModelPose</span><span data-if="com" style="display:none">RefineSurfaceModelPose</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPose</span><span data-if="python" style="display:none">refine_surface_model_pose</span></a></code>, 
<code><a href="write_surface_model.html"><span data-if="hdevelop" style="display:inline">write_surface_model</span><span data-if="c" style="display:none">write_surface_model</span><span data-if="cpp" style="display:none">WriteSurfaceModel</span><span data-if="com" style="display:none">WriteSurfaceModel</span><span data-if="dotnet" style="display:none">WriteSurfaceModel</span><span data-if="python" style="display:none">write_surface_model</span></a></code>, 
<code><a href="find_surface_model_image.html"><span data-if="hdevelop" style="display:inline">find_surface_model_image</span><span data-if="c" style="display:none">find_surface_model_image</span><span data-if="cpp" style="display:none">FindSurfaceModelImage</span><span data-if="com" style="display:none">FindSurfaceModelImage</span><span data-if="dotnet" style="display:none">FindSurfaceModelImage</span><span data-if="python" style="display:none">find_surface_model_image</span></a></code>, 
<code><a href="refine_surface_model_pose_image.html"><span data-if="hdevelop" style="display:inline">refine_surface_model_pose_image</span><span data-if="c" style="display:none">refine_surface_model_pose_image</span><span data-if="cpp" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="com" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="python" style="display:none">refine_surface_model_pose_image</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="create_surface_model.html"><span data-if="hdevelop" style="display:inline">create_surface_model</span><span data-if="c" style="display:none">create_surface_model</span><span data-if="cpp" style="display:none">CreateSurfaceModel</span><span data-if="com" style="display:none">CreateSurfaceModel</span><span data-if="dotnet" style="display:none">CreateSurfaceModel</span><span data-if="python" style="display:none">create_surface_model</span></a></code>, 
<code><a href="get_surface_model_param.html"><span data-if="hdevelop" style="display:inline">get_surface_model_param</span><span data-if="c" style="display:none">get_surface_model_param</span><span data-if="cpp" style="display:none">GetSurfaceModelParam</span><span data-if="com" style="display:none">GetSurfaceModelParam</span><span data-if="dotnet" style="display:none">GetSurfaceModelParam</span><span data-if="python" style="display:none">get_surface_model_param</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
3D Metrology</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
